[英]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.