Javascript 如何在mongoDB中匹配和查找数组和文档

Javascript 如何在mongoDB中匹配和查找数组和文档,javascript,arrays,node.js,mongodb,mongoose,Javascript,Arrays,Node.js,Mongodb,Mongoose,我有一个ID数组,比如 [id1,id2,id3,…] 例如,我有一个文档集 { “_id”:ObjectId(“1111111”), “电话号码”:“1234567891”, “fid”:“id1”, “pid”:“abcd”, “activeFlag”:真 }, { “_id”:ObjectId(“2222”), “电话号码”:“1234567891”, “fid”:“id1”, “pid”:“efgh”, “activeFlag”:真 }, { “_id”:ObjectId(“33333

我有一个ID数组,比如

[id1,id2,id3,…]

例如,我有一个文档集

{
“_id”:ObjectId(“1111111”),
“电话号码”:“1234567891”,
“fid”:“id1”,
“pid”:“abcd”,
“activeFlag”:真
},
{
“_id”:ObjectId(“2222”),
“电话号码”:“1234567891”,
“fid”:“id1”,
“pid”:“efgh”,
“activeFlag”:真
},
{
“_id”:ObjectId(“33333”),
“电话号码”:“1234567891”,
“fid”:“id2”,
“pid”:“xyz”,
“activeFlag”:真
},
{
“_id”:ObjectId(“44444”),
“电话号码”:“1234567891”,
“fid”:“id3”,
“pid”:“mnop”,
“activeFlag”:真

}
这个脚本应该可以完成这个任务

var listId = ["id1", "id2", "id3"]; 

var cursor =  db.collection.find({fid: {$in: listId}}).sort({_id: 1}).limit(9); 


// iterate over documents
if (cursor != null && cursor.hasNext()){
  while (cursor.hasNext()){
   // print documents
   print(JSON.stringify(cursor.next())); 
  }
}
要运行它,请创建一个文件名
script.js
,将上面的代码复制到其中,然后运行命令

mongo databaseName < script.js
mongo数据库名
到目前为止您做了什么?有什么办法解决吗?我如何将其用于文档的_id字段?我试过,{u id:{$in:mongoose.Types.ObjectId(listId)}@Sabreena刚刚将ObjectId放入您的listId:
var listId=[ObjectId(“12454545”),ObjectId(“545755454”),ObjectId(“45455445”);