[英]MongoDB aggregation: How to extract the field in the results
所有!
我是MongoDB聚合的新手,经过聚合,我终于得到了结果:
"result" : [
{
"_id" : "531d84734031c76f06b853f0"
},
{
"_id" : "5316739f4031c76f06b85399"
},
{
"_id" : "53171a7f4031c76f06b853e5"
},
{
"_id" : "531687024031c76f06b853db"
},
{
"_id" : "5321135cf5fcb31a051e911a"
},
{
"_id" : "5315b2564031c76f06b8538f"
}
],
"ok" : 1
数据就是我想要的,但我只想进一步,希望我的数据显示如下:
"result" : [
"531d84734031c76f06b853f0",
"5316739f4031c76f06b85399",
"53171a7f4031c76f06b853e5",
"531687024031c76f06b853db",
"5321135cf5fcb31a051e911a",
"5315b2564031c76f06b8538f"
],
"ok" : 1
是的,我只想在纯字符串数组中获取所有唯一ID,我能做些什么? 任何帮助,将不胜感激!
所有MongoDB查询都会在结果文档中产生“键/值”对。 所有MongoDB内容基本上都是这种形式的BSON文档,驱动程序只是将其“翻译”回本机代码形式,以实现该语言。
因此,仅聚合框架永远都不会产生仅包含所需值的裸数组。 但是您始终可以只转换结果数组,因为毕竟这只是一个数组
var result = db.collection.aggregate(pipeline);
var response = result.result.map(function(x) { return x._id } );
还请注意,shell中的默认行为和首选选项是,聚合结果实际上是从MongoDB 2.6及更高版本作为游标返回的。 由于这是列表形式,而不是单独的文档,因此您将以不同的方式进行处理:
var response = db.collection.aggregate(pipeline).map(function(x) {
return x._id;
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.