【发布时间】:2014-10-01 12:25:11
【问题描述】:
想象一组电影(存储在 MongoDB 集合中),每部电影看起来像这样:
{
_id: 123456,
name: 'Blade Runner',
buyers: [1123, 1237, 1093, 2910]
}
我想得到一个电影列表,每一个都有一个指示买家 2910(例如)是否购买了它。
有什么想法吗?
我知道我可以将 [1123, 1237, 1093, 2910] 更改为 [{id:1123}, {id:1237}, {id:1093}, {id:2910}] 以允许使用 $elemMatch在投影中,但不希望触摸结构。
我也知道我也许可以使用 $unwind 运算符(在聚合框架内),但在买方有数千个值的情况下这似乎非常浪费(基本上在匹配之前将每个文档分解成内存中的数千个副本)。
还有其他想法吗?我在这里错过了一些非常简单的东西吗?
【问题讨论】:
标签: mongodb mongodb-query