Mongo通过子对象
查找项目 { "_id" : ObjectId("4f93aaddaca610f76b000000"),
"count" : NumberLong(2),
"items" : [
{"count" : NumberLong(1),
"options":{ "1":"track","2" : "track" } },
{"count":NumberLong(2),
"options":{"1":"as","2" : "sadf" } }
]
}
如何对子对象中的内容进行排序,例如限制每个请求的项目列表
结果我期待的是这个
{ "_id" : ObjectId("4f93aaddaca610f76b000000"),
"count" : NumberLong(2),
"items" : [
{"count" : NumberLong(1),
"options":{ "1":"track","2" : "track" } },
]
}
答案 0 :(得分:2)
不,你不能这样做。现在查询嵌入式阵列非常有限。有一天我们会virtual collections (SERVER-142),我们将能够排序,跳过,限制和所有其他常见的事情。但是现在我们有这些选择:
获取整个子数组并在应用程序中处理它;
将项目移动到他们自己的集合(引用而不是嵌入);
使用Aggregation Framework(尚未发布);
放弃这个想法。