热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何将pymongo.cursor.Cursor转换为dict?

如何解决《如何将pymongo.cursor.Cursor转换为dict?》经验,为你挑选了3个好方法。

我正在使用pymongo来查询区域中的所有项目(实际上是查询地图上某个区域中的所有场所).我db.command(SON())之前用过搜索球形区域,它可以返回一个字典,在字典中有一个叫做results包含场地的键.现在我需要搜索一个方形区域,我建议使用db.places.find,但是,这会给我一个pymongo.cursor.Cursor课程,我不知道如何从中提取场地结果.

有谁知道我是否应该将光标转换为字典并提取结果,或使用其他方法查询方形区域中的项目?BTW,db是pymongo.database.Database类

代码是:

>>> import pymongo
>>> db = pymongo.MongoClient(host).PSRC 
>>> resp = db.places.find({"loc": {"$within": {"$box": [[ll_lng,ll_lat], [ur_lng,ur_lat]]}}})
>>> for doc in resp:
>>>     print(doc)

我有ll_lng,ll_lat,ur_lng和ur_lat的值,使用这些值,但它不打印此代码



1> styvane..:

find方法返回一个Cursor实例,允许您迭代所有匹配的文档.

要获得与您需要使用的给定条件匹配的第一个文档find_one.结果find_one是字典.

您始终可以使用list构造函数返回集合中所有文档的列表,但请记住,这会将所有数据加载到内存中,可能不是您想要的.

如果您需要重用光标并且有充分的理由不使用,则应该这样做 rewind()


演示使用find:

>>> import pymongo
>>> cOnn= pymongo.MongoClient()
>>> db = conn.test #test is my database
>>> col = db.spam #Here spam is my collection
>>> cur = col.find()  
>>> cur

>>> for doc in cur:
...     print(doc)  # or do something with the document
... 
{'a': 1, '_id': ObjectId('54ff30faadd8f30feb90268f'), 'b': 2}
{'a': 1, 'c': 3, '_id': ObjectId('54ff32a2add8f30feb902690'), 'b': 2}

演示使用find_one:

>>> col.find_one()
{'a': 1, '_id': ObjectId('54ff30faadd8f30feb90268f'), 'b': 2}



2> Aminah Nurai..:

简单

import pymongo
cOnn= pymongo.MongoClient()
db = conn.test #test is my database
col = db.spam #Here spam is my collection
array = list(col.find())

print array

你去吧



3> 小智..:

我建议创建一个列表并将字典附加到其中。

x   = []
cur = db.dbname.find()
for i in cur:
    x.append(i)
print(x)

现在x是一个字典列表,您可以用通常的python方式进行操作。


难道不能将其缩短为[db.dbname.find()中x的x]吗?
推荐阅读
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 高级缩放示例.就像谷歌地图一样.它仅缩放图块,但不缩放整个图像.因此,缩放的瓷砖占据了恒定的记忆,并且不会为大型缩放图像调整大小的图像.对于简化的缩放示例lookhere.在Win ... [详细]
  • 本文详细解析了NYOJ20 - 吝啬的国度问题,通过图的深度优先搜索(DFS)算法解决路径查询问题。 ... [详细]
  • 深入理解Java多线程与并发机制
    本文探讨了Java多线程和并发机制的核心概念,包括多线程类的分类、执行器框架、并发容器及控制工具。通过详细解析这些组件,帮助开发者更好地理解和应用多线程技术。 ... [详细]
  • 使用 Jupyter Notebook 实现 Markdown 编写与代码运行
    Jupyter Notebook 是一个开源的基于网页的应用程序,允许用户在同一文档中编写 Markdown 文本和运行多种编程语言的代码,并实时查看运行结果。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Android与JUnit集成测试实践
    本文探讨了如何在Android项目中集成JUnit进行单元测试,并详细介绍了修改AndroidManifest.xml文件以支持测试的方法。 ... [详细]
  • 本文详细介绍了如何在VSCode中正确配置Python环境,包括通过不同方式安装Python以及如何安装和配置Python插件,确保开发环境顺利搭建。 ... [详细]
  • 本文介绍如何通过参数化查询来防止SQL注入攻击,确保数据库的安全性。示例代码展示了在C#中使用参数化查询添加学生信息的方法。 ... [详细]
  • 在Java开发中,如何利用ProcessBuilder类调用外部程序是一个常见的需求。本文将详细介绍ProcessBuilder类的使用方法,并提供示例代码帮助你更好地理解和应用。 ... [详细]
  • C# 实现高效分页控件
    在使用 C# 进行数据库开发时,分页功能是常见的需求。为了避免每次编写重复的分页代码,我开发了一个用户控件,使分页操作变得更加简便。 ... [详细]
  • WPF MVVM: 动态添加控件与数据绑定的最佳实践
    本文介绍如何在WPF应用程序中使用MVVM模式动态添加控件并进行数据绑定。通过示例展示如何创建一个虚拟键盘,其中包含多个按键。 ... [详细]
  • 本文介绍了在 CentOS 7 系统中如何查看所有活动进程及其运行时间。通过使用 `netstat` 和 `ps` 命令,您可以轻松获取进程的详细信息,包括启动时间、用户、终端和命令等。 ... [详细]
author-avatar
丘圆圆611
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有