【发布时间】:2012-04-29 19:15:37
【问题描述】:
我正在使用Nodejs、mongodb 数据库。我们可以像这样使用$nin
Model.find({ uname : { $nin : ["sachin","saurav"] } }....
uname 等法线元素的上方文字。但是对于对象 ids(_id),..
Model.find({_id : {$nin : ["6534767457dfgbyb23","wtvwt3wy5etvdh"] } } ...
上面没有给出错误,它显示正确..
var ObjectID = require('mongodb').ObjectID;
var a = new ObjectID("sdfsdznfsdz");
var b=new ObjectID("sdfjwneufhq2rfwefsd");
Model.find({_id : { $nin : [a,b] } }...
上面也没有给出错误...
问题是,我不能像 a,b,c,d...那样手动编写...
我必须以某种正确的格式将所有这些 a、b、c、d... 存储在某个变量中,并且必须这样做
Model.find({_id : {$nin : variable } }
或
Model.find({_id : {$nin : [variable] } }
我试过了
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
我该怎么办?问题是,除了带有_ids 的那些项目之外,我应该得到所有项目。
【问题讨论】: