Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在mongodb的引用数组中查找_Javascript_Mongodb_Mongoose - Fatal编程技术网

Javascript 在mongodb的引用数组中查找

Javascript 在mongodb的引用数组中查找,javascript,mongodb,mongoose,Javascript,Mongodb,Mongoose,我有这样的模型: MyCollection { ... groups : [{ type: Schema.Types.ObjectId, ref: 'Group' }], ... } 现在,我如何查找具有已知id组的所有文档? 我试过了 但它不起作用。我对这个问题感到很沮丧 样本文件: { _id: 52d7dd87f3f1e72c7c000005, groups: [ { _id: 52d02565360c206933000013, name: 'groupname' }

我有这样的模型:

MyCollection
{
  ...
  groups : [{ type: Schema.Types.ObjectId, ref: 'Group' }],
  ...
}
现在,我如何查找具有已知id组的所有文档? 我试过了

但它不起作用。我对这个问题感到很沮丧

样本文件:

{ _id: 52d7dd87f3f1e72c7c000005,
   groups: [ { _id: 52d02565360c206933000013, name: 'groupname' } ],
   date: Thu Jan 16 2014 10:15:00 GMT+0200 (EET),
   ...
}
另一种尝试:

> db.groups.find({ "name" : "NINFOS13"})
{ "_id" : ObjectId("52d8fad69c7817b52a000012"), "createdAt" : ISODate("2014-01-  17T09:41:42.365Z"), "name" : "NINFOS13", "__v" : 0 }
> db.subjects.insert({groups : [ { _id : ObjectId("52d8fad69c7817b52a000012"), name : "NINFOS13"}]})
> db.subjects.find()
{ "_id" : ObjectId("52d8fb7c1c4493a980630c68"), "groups" : [  {  "_id" : ObjectId("52d8fad69c7817b52a000012"),  "name" : "NINFOS13" } ] }
> db.subjects.find({"groups._id" : ObjectId("52d8fb7c1c4493a980630c68")}).count()
0
抱歉,我犯了一个错误,此查询有效

适用于我(使用mongo shell):


也许你有一个输入错误。

我编辑过,它是一个模型的名称,我忘了更改它。你能提供MyCollection的示例文档吗?添加到问题中似乎你应该只使用:find({“groups.\u id”:myid})这样的查询
{“group.\u id”:new ObjectId(“…”}
适合我。mongo shell的版本是什么?我的是2.4.3
> db.groups.find({ "name" : "NINFOS13"})
{ "_id" : ObjectId("52d8fad69c7817b52a000012"), "createdAt" : ISODate("2014-01-  17T09:41:42.365Z"), "name" : "NINFOS13", "__v" : 0 }
> db.subjects.insert({groups : [ { _id : ObjectId("52d8fad69c7817b52a000012"), name : "NINFOS13"}]})
> db.subjects.find()
{ "_id" : ObjectId("52d8fb7c1c4493a980630c68"), "groups" : [  {  "_id" : ObjectId("52d8fad69c7817b52a000012"),  "name" : "NINFOS13" } ] }
> db.subjects.find({"groups._id" : ObjectId("52d8fb7c1c4493a980630c68")}).count()
0
> db.stack.insert({groups: [ { _id: ObjectId("52d02565360c206933000013"), name: "groupname" } ]});    

> db.stack.find()
{ "_id" : ObjectId("52d8924b5c90ea648f2a4664"), "groups" : [  {  "_id" : ObjectId("52d02565360c206933000013"),  "name" : "groupname" } ] }

> db.stack.find({"groups._id": ObjectId("52d02565360c206933000013")});
{ "_id" : ObjectId("52d8924b5c90ea648f2a4664"), "groups" : [  {  "_id" : ObjectId("52d02565360c206933000013"),  "name" : "groupname" } ] }