我尝试执行一个mongo查询,获取每个文档中数组的长度,而不是检索列表的完整内容。理想情况下,这将是一个沿着以下路线的投影选项:
db.log.find({},{entries:{$length: 1}})但这是不受支持的。也许这可以通过新的聚合框架以一种优雅的方式实现?我的想法是这样的:
db.log.find({},{"entries.length": 1})它返回的结果如下:
{ "_id" : ObjectId("50d2fb07e64cfa55431de693"), "entries" : [   {    },     {    },     {    },     {    },     {    },     {    },     {    },     {  },   {    },     {    },     {    },     {    },     {    },     {  },   {    },     {    },     {    },     {    } ] }这很难看,但基本上满足了我的需要,因为我可以计算这个列表的长度,而不需要网络权重来获得完整的内容。但我不知道为什么会这样。这个查询的实际作用是什么?
发布于 2015-12-10 08:26:34
According to the mongodb documentation:
您也可以使用$size:
db.log.aggregate([{$project:{'_id':1, 'count':{$size: "$entriesCount"}}}]);https://stackoverflow.com/questions/13958490
复制相似问题