我正在编写一个代码,它将使用pymongo从数据库中获取数据。之后,我将使用Tkinter在GUI中显示它。
我正在使用
.find()
查找具体文件。但是,我不想要任何其他的东西,而是名字'现身。所以我使用{" name":1},现在它返回:
{u'name':u'**returned_name**'}
如何删除你的名字' 以便它只返回 returned_name ?
提前致谢,
最高
P.S。我在网上搜索过很多但是找不到任何能给我一些帮助的论据。
答案 0 :(得分:3)
find()
调用返回的内容是游标。只需遍历游标并通过name
键获取每个找到的文档的值:
result = db.col.find({"some": "condition"}, {"name": 1})
print([document["name"] for document in result])
因此,您将获得名称列表。
或者,如果您希望并希望匹配单个文档,请使用find_one()
:
document = db.col.find_one({"some": "condition"}, {"name": 1})
print(document["name"])
答案 1 :(得分:0)
Mongo将使用密钥返回数据,但您可以使用类似
的解决方法var result = []
db.Resellers_accounts.find({"name":1, "_id":0}).forEach(function(u) { result.push(u.name) })
这个例子适用于NodeJS驱动程序,类似的可以用于Python
编辑(Python代码) -
res = db.Resellers_accounts.find({},{"name":1, "_id":0})
result = []
for each in res:
result.append(res['name'])
编辑2 - 没有pymongo不支持仅返回值,所有内容都是MongoDB中的键值配对。