{ members : [ ObjectId("one"), ObjectId("two") ]}
我想选择"一个"是否在会员。
答案 0 :(得分:0)
db.collection.aggregate([{$unwind: '$members'}, {$match: {members: ObjectId("one")}}])
在这种情况下,您将获得所有包含成员1的文档。您可以使用第一个$匹配条件或/和$ limit:
db.collection.aggregate([{$match: {<expr>}}, {$unwind: '$members'}, {$match: {members: ObjectId("one")}}, {$limit: 1}])
您将拥有包含对象的结果数组,但它使用起来很简单。但我认为这是肮脏的黑客:)