mongoDB:检查特定子文档数组中是否存在值

mongoDB:检查特定子文档数组中是否存在值,mongodb,database,Mongodb,Database,我有以下模式: { _id: objectID('593f8c591aa95154cfebe612'), name: 'test' businesses: [ { _id: objectID('5967bd5f1aa9515fd9cdc87f'), likes: [objectID('595796811aa9514c862033a1'), objectID('593f8c591ba95154cfebe790')] } { _id: objectID('59579ff91aa95

我有以下模式:

{
_id: objectID('593f8c591aa95154cfebe612'),
name: 'test'
businesses: [
 {
  _id: objectID('5967bd5f1aa9515fd9cdc87f'),
  likes: [objectID('595796811aa9514c862033a1'), objectID('593f8c591ba95154cfebe790')]
 }
 {
  _id: objectID('59579ff91aa9514f600cbba6'),
  likes: [objectID('693f8c554aa95154cfebe146')]
 }
  ]
}
如何检查阵列business.likes where business中是否存在objectID('593f8c591ba95154cfebe790')。_id=objectID('59579ff91aa9514f600cbba6')


在上面的示例中,它应该返回false。

您可以使用
$elemMatch
在同一子文档中按多个字段查找

db.collectionName.find({
  businesses: {
    $elemMatch: {
      _id: ObjectId("5967bd5f1aa9515fd9cdc87f"),
      likes: ObjectId("593f8c591ba95154cfebe790")
    }
  }
});