Mongoose从存在的数组

时间:2016-04-19 18:06:04

标签: node.js mongodb mongoose

我知道我可以像猫鼬一样搜索

schema.find( { '_id' : { $in: [1,2,3]} }, function(err,data){});

我的问题是,例如存在_id 1和3的对象但没有_id 2的对象。因此find方法将失败。有没有办法找到忽略inavlid id_s的所有可能对象?

2 个答案:

答案 0 :(得分:1)

根据MongoDB documentation,如果没有ID为2的文档,您的查询不会失败。

文档说明:

  

$ in运算符选择字段值的文档   等于指定数组中的任何值。

答案 1 :(得分:0)

Mongo首先检查_id的长度,它必须是24个字符,

如果其中一个数组成员少于24个字符,则会显示长度错误,例如:

234324533423423423423424 db

中不存在_id
 db.users.find({ '_id' :{ $in:[ObjectId("56d461517a2f02941bfb967a"),ObjectId("56d461517a2f02941bfb967e"),ObjectId("234324533423423423423424")]}}, function(err,data){})

将完美地展示前2名成员!