1

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" } },
             ]
 }
4

1 回答 1

2

不,你不能那样做。现在查询嵌入式数组非常有限。有一天,我们将拥有虚拟集合 (SERVER-142),我们将能够进行排序、跳过、限制和所有其他常见的事情。但现在我们有以下选择:

  • 获取整个子数组并在应用程序中处理它;

  • 将项目移动到它们自己的集合中(引用而不是嵌入);

  • 使用聚合框架(尚未发布);

  • 放弃这个想法。

于 2012-04-22T11:25:44.953 回答