2017-07-14 7 views
-1

に存在する場合、私は、次のスキーマを持って確認してください。のMongoDB:値は、特定のサブ文書の配列

オブジェクトID(「593f8c591ba95154cfebe790」)はbusinesses._id =オブジェクトIDの配列business.likesに存在する場合、私がチェックすることができますどのように
{ 
_id: objectID('593f8c591aa95154cfebe612'), 
name: 'test' 
businesses: [ 
{ 
    _id: objectID('5967bd5f1aa9515fd9cdc87f'), 
    likes: [objectID('595796811aa9514c862033a1'), objectID('593f8c591ba95154cfebe790')] 
} 
{ 
    _id: objectID('59579ff91aa9514f600cbba6'), 
    likes: [objectID('693f8c554aa95154cfebe146')] 
} 
    ] 
} 

( '59579ff91aa9514f600cbba6')?

上記の例では、falseを返す必要があります。

答えて

0

あなたは、同じサブ文書に複数のフィールドで検索し$elemMatchを使用することができます

db.collectionName.find({ 
    businesses: { 
    $elemMatch: { 
     _id: ObjectId("5967bd5f1aa9515fd9cdc87f"), 
     likes: ObjectId("593f8c591ba95154cfebe790") 
    } 
    } 
}); 
関連する問題