MongoDB的。聚合。 $ match:[另一个收集键]

时间:2014-04-28 12:56:44

标签: mongodb

用户和购买是两个集合。 购买集合具有引用键“用户”。 我需要从购买集合中获取属于某些用户使用城市标签的入口。

result = db.users.aggregate([{'$match': {'user_info.city1': 0}}])
db.userset.insert(result['result'])

db.purchase.aggregate([{'$match': {'user': usersarray(?) }}])

如果有超过一百万的用户,并且每个用户购买超过10000,我可以传递给$ match一组用户吗? 有没有另一种方法来实现聚合? 这个例子是设计的,而不是嵌入式文档。

1 个答案:

答案 0 :(得分:1)

是的,如果您的整个查询都在16MB BSON文档限制范围内,您很可能会传递许多用户。很可能这就是你的第二个问题的意思:

db.purchase.aggregate([{'$match': {'user': {'$in': ['user1', ...'userN']} }}])