Mongo通过子对象查找项目

时间:2012-04-22 11:21:15

标签: mongodb

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

1 个答案:

答案 0 :(得分:2)

不,你不能这样做。现在查询嵌入式阵列非常有限。有一天我们会virtual collections (SERVER-142),我们将能够排序,跳过,限制和所有其他常见的事情。但是现在我们有这些选择:

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

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

  • 使用Aggregation Framework(尚未发布);

  • 放弃这个想法。