-1
{ members : [ ObjectId("one"), ObjectId("two") ]}

我想选择“一个”是否在成员中。

4

1 回答 1

0
db.collection.aggregate([{$unwind: '$members'}, {$match: {members: ObjectId("one")}}])

在这种情况下,您将获得所有具有成员 1 的文件。您可以使用第一个 $match 条件或/和 $limit:

db.collection.aggregate([{$match: {<expr>}}, {$unwind: '$members'}, {$match: {members: ObjectId("one")}}, {$limit: 1}])

您将拥有带有对象的结果数组,但它使用起来很简单。但我认为这是肮脏的黑客:)

于 2013-02-19T08:30:01.773 回答