2015-12-21 71 views
0

文件的数组值的样子:蒙戈查找基于在对象

{ 
    name: 'abc', 
    types: [ 
    {name:'Large',stock:true}, 
    {name:'XLarge',stock:false}, 
    {name:'XXLarge',stock:true} 
    ] 
} 

我试图找出查询返回其缺货的所有文件。

喜欢的东西:.find({types:{{$nin:{stock:true}}}) 我可以以某种方式做到这一点?

+0

你想让你的例子文件被返回吗? –

+1

[只检索MongoDB集合中对象数组中的查询元素]的可能重复(http://stackoverflow.com/questions/3985214/retrieve-only-the-queried-element-in-an-object-array-in -mongodb收集) – styvane

回答

3

可以查询使用位置运算符是这样的:

db.collection.find({'types.stock':{$ne:true}}) 

$nin运算符用于在特定阵列元素找到不。 $ne(不等于)在你的情况下是一个更好的操作。