Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
Mongodb 数组中所有子文档的列表_Mongodb_Mongodb Query - Fatal编程技术网

Mongodb 数组中所有子文档的列表

Mongodb 数组中所有子文档的列表,mongodb,mongodb-query,Mongodb,Mongodb Query,奇怪的是,我找不到这个非常简单的问题的答案,我也找不到一个方法来自己和医生一起解决这个问题 这是一个示例模式 { Test : [ { foo:0,fighter:[] }, { foo:1,fighter:[] }, { food:2,fighter:[] } ] } 我希望能够检索Test 我发现要检索第一个战斗机

奇怪的是,我找不到这个非常简单的问题的答案,我也找不到一个方法来自己和医生一起解决这个问题

这是一个示例模式

{
    Test : [
        {
           foo:0,fighter:[]
        },
        {
           foo:1,fighter:[]
        },
        {
           food:2,fighter:[]
        }
    ]
}
我希望能够检索
Test

我发现要检索第一个
战斗机的内容,您只需执行以下操作:

Collection.find({u-id:0,'Test.foo':0})

但是获取整个
测试
数组怎么样?还是整个
战斗机
阵列

{ foo: 0, fighter: [ "john", "fitz", "gerald" ] }
{ foo: 1, fighter: [] } 
{ food: 2, fighter: [] }
或者只是整个
figther
(foo 0)内容

我唯一找到的是
Collection.findOne({u id:id}).Test
,但它不起作用,我发现

未定义的“测试”方法


你将不得不使用投影。您可以这样做:

Collection.find({u id:0},{Test:{$elemMatch:{foo:0}}})

这将为您提供
Test
数组,但只包含一个元素,即与标准
foo:1

要仅获取
测试
数组而不是整个文档,请使用以下命令:

Collection.find({u-id:0},{Test:1,{u-id:0})

你可以找到更多关于这个的信息

希望这能有所帮助。

“我正在使用未定义的“测试”方法”-这意味着没有该id的文档。
"john", "fitz", "gerald"