gpt4 book ai didi

mongodb - 是否可以从查询中返回特定值的列表?

转载 作者:可可西里 更新时间:2023-11-01 10:28:05 25 4
gpt4 key购买 nike

我的“组件”集合中有一个文档列表,每个文档都有“名称”属性。例如:

{
"_id" : "ce83jfieojf8"
"name": "George"
}

我想编写一个查询,返回组件中所有文档中所有名称值的完整列表。

现在,我可以使用 db.components.find({'_id':0, 'name':1}),它会返回如下所示的内容:

{"name" : "George"}
{"name" : "John"}
{"name" : "Paul"}

而且我可以使用索引和 .name 属性获取这些文档中任何一个的名称。如果我输入

db.components.find({'_id':0, 'name':1})[0].name 

我得到:

George

但是,我想要的是一个将返回的查询:

George 
John
Paul

我查看了 Mongo 文档,但是当我搜索“返回多个值”或“返回列表”时,我只得到文档列表,而不是这些文档中的值列表。

是否可以这样做,或者我是否需要编写一个单独的函数来分别获取这些值中的每一个?

非常感谢您的帮助。

最佳答案

假设您的收藏中有以下文档:

{ "_id" : ObjectId("55a7cfeeeb68594275546c76"), "name" : "George" }
{ "_id" : ObjectId("55a7cfeeeb68594275546c77"), "name" : "John" }
{ "_id" : ObjectId("55a7cfeeeb68594275546c78"), "name" : "Paul" }
{ "_id" : ObjectId("55a7cfeeeb68594275546c79"), "name" : "Jack" }
{ "_id" : ObjectId("55a7cfeeeb68594275546c7a"), "name" : "Paul" }
  • 您可以使用 cursor.map收集所有名称并将其作为数组返回
db.collection.find().map(function(u){ return u.name })
[ "George", "John", "Paul", "Jack", "Paul" ]
db.collection.distinct('name')
[ "George", "John", "Paul", "Jack" ]

关于mongodb - 是否可以从查询中返回特定值的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31457999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com