Mongo基于对象数组中的值查找

xSh*_*ase 0 mongodb

文件看起来像:

{
  name: 'abc',
  types: [
     {name:'Large',stock:true}, 
     {name:'XLarge',stock:false},
     {name:'XXLarge',stock:true}
  ]
}
Run Code Online (Sandbox Code Playgroud)

我正在试图找出查询以返回所有缺货的文件.

类似的东西:.find({types:{{$nin:{stock:true}}}) 我可以以某种方式这样做吗?

Sar*_*air 5

你可以像这样使用位置运算符进行查询:

db.collection.find({'types.stock':{$ne:true}})
Run Code Online (Sandbox Code Playgroud)

$ninoperator用于查找不在特定数组中的元素.$ne(不等于)在你的情况下是一个更好的操作.