当前位置: 首页 > 面试题库 >

如何用pymongo排序mongodb

赏阳嘉
2023-03-14
问题内容

我在查询mongoDB时尝试使用排序功能,但是失败了。相同的查询在MongoDB控制台中有效,但不适用于此处。代码如下:

import pymongo

from  pymongo import Connection
connection = Connection()
db = connection.myDB
print db.posts.count()
for post in db.posts.find({}, {'entities.user_mentions.screen_name':1}).sort({u'entities.user_mentions.screen_name':1}):
    print post

我得到的错误如下:

Traceback (most recent call last):
  File "find_ow.py", line 7, in <module>
    for post in db.posts.find({}, {'entities.user_mentions.screen_name':1}).sort({'entities.user_mentions.screen_name':1},1):
  File "/Library/Python/2.6/site-packages/pymongo-2.0.1-py2.6-macosx-10.6-universal.egg/pymongo/cursor.py", line 430, in sort
  File "/Library/Python/2.6/site-packages/pymongo-2.0.1-py2.6-macosx-10.6-universal.egg/pymongo/helpers.py", line 67, in _index_document
TypeError: first item in each key pair must be a string

我在其他地方找到了一个链接,该链接说如果使用pymongo,则需要在密钥的前面放置一个“ u”,但这也不起作用。任何其他人都可以使用它或这是一个错误。


问题答案:

.sort()在pymongo中,采用keydirection作为参数。

因此,假设您要排序,id那么您应该.sort("_id", 1)

对于多个字段:

.sort([("field1", pymongo.ASCENDING), ("field2", pymongo.DESCENDING)])


 类似资料:
  • 问题内容: 我有以下形式的mongodb集合: 让值字典为。我需要更新中的键值。即我想更改为 pymongo中的该怎么办? 代码是这样的: 现在在productData中反映新值。 这是我尝试过的方法,它引入了一个新的键值对,而不是更新 问题答案: 如果要将文档的值设置为任意值,可以使用$ set语法。如果该属性已经存在于文档中,则将更新值;如果不存在,则将创建该值。如果您需要像描述的那样在字典中

  • 问题内容: 我正在尝试在Pymongo中订购字典。我读过可以用bson.son.Son完成。文件在这里 但是,我似乎无法使其工作。谷歌上没有太多关于它的信息。关于首先配置pymongo以便告诉它使用SON对象有一些讨论,但没有示例。一位朋友建议您在查找时传递一个参数。他不记得了。 我可以创建SON对象。但是,当它们插入数据库然后又出来时,它们只是简单的命令。 我不确定要给您什么代码示例,因为我真的

  • 问题内容: 我想排序CopyOnWriteArrayList。但是当我尝试运行以下代码时 它在扔unsorted operation exception。 提前致谢。 问题答案: 但是CopyOnWriteArrayList的ListIterator不支持remove,set或add方法。 解决方法:

  • 问题内容: 我正在尝试在mongodb中执行查询日期,但结果始终为空。我的查询如下: //变量resultaMongo返回空。 Obs:我也尝试不使用.isoformat(),当我直接放入mongodb时,只有添加ISODate才返回结果。因此不会返回结果: 更重要的是,如果您编辑返回: 这是数据库中的记录序列: 如果我打印python的json变量,则会看到类似以下内容的内容: 我的Mongnd

  • 我有一个“异常”的json文件。 像这样的文件体 我已经尝试了很多方法来导入这个到mongo通过pymongo,但我不能加载文件体与json加载器或bson加载器。我知道这不是一个普通的json或bson文件。 但我使用mongoimport将此文件成功导入mongodb。 有人知道如何解决这个问题并让它发挥作用吗?我怎么能导入这个文件到mongoDB使用pymongo?

  • 我想写一个查询,它将根据多个条件对结果进行排序。 请参考下表 我想在表上方排序 1-通过已知域后跟然后Rest。 所以我想把结果行分成三部分。 第一部分的行具有作为域,然后在第二部分的行中,最后剩下的行具有域。 2-按字母顺序排列,所有特殊字符位于末尾。 每个部分都应该在字段上按字母顺序进一步排序,末尾有特殊字符。 结果应如下表所示。 我已经用下面的查询按字母顺序对结果进行排序,底部有特殊符号,但