Estoy usando Nodejs
, mongodb
base de datos. Podemos utilizar $nin
como esto
Model.find({ uname : { $nin : ["sachin","saurav"] } }....
por encima de las palabras para los elementos Normales como uname
y otros. Pero para los identificadores de los objetos (_id), ..
Model.find({_id : {$nin : ["6534767457dfgbyb23","wtvwt3wy5etvdh"] } } ...
encima de la línea no da error, se muestra correctamente ..
var ObjectID = require('mongodb').ObjectID;
var a = new ObjectID("sdfsdznfsdz");
var b=new ObjectID("sdfjwneufhq2rfwefsd");
Model.find({_id : { $nin : [a,b] } }...
anterior tampoco da un error ...
El problema es, no puedo escribir manualmente como a, b, c, d ...
Tengo que almacenar todos los a, b, c, d ... en alguna variable en algún formato correcto, y tengo que hacer como esto
Model.find({_id : {$nin : variable } }
o
Model.find({_id : {$nin : [variable] } }
yo probamos este
var string = a+","+b //this didnt work, error : invalid object id
var string = "nfw34qfhrs9"+","+"u89tgngnfdb" //this also same error
var string = "\"jn4tr43r\"" + "," + "\"ansfuw37fe\"" //this also same error
¿Qué debo hacer? el caso es que debería obtener todos los artículos, excepto aquellos con esos _ids
.
código de ur trabajando, pero la situación es que tengo una cadena str = "nfsdfnskdjnjdf", "ksjdngdfg", "gseggxfzgd" ..... Esto puede tener muchas cadenas internas, no solo 2. A partir de esto, ¿cómo puede Obtengo la matriz como me dijiste, por favor dime esa. Gracias – user1305989
'var str =" nfsdfnskdjnjdf, ksjdngdfg, gseggxfzgd "; var ids = str.split (","); ' // ids ahora es una matriz de la división, – Menztrual
gracias, trabajando! – user1305989