标签: pymongo

如何用pymongo对mongodb进行排序

我在查询我的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
Run Code Online (Sandbox Code Playgroud)

我得到的错误如下:

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
Run Code Online (Sandbox Code Playgroud)

我在其他地方找到了一个链接,说如果使用pymongo,我需要放置一个'u'的钥匙,但这也不起作用.其他人让这个工作或这是一个错误.

python mongodb pymongo

151
推荐指数
5
解决办法
13万
查看次数

mongo - 无法连接到服务器127.0.0.1:27017

我来自riak和redis,我从未遇到过这项服务的问题,或者进行互动.

这是mongo普遍存在的问题,而且相当无能为力.重启没有帮助.我是mongo的新手.

mongo
MongoDB shell version: 2.2.1
connecting to: test
Fri Nov  9 16:44:06 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
Run Code Online (Sandbox Code Playgroud)

这就是我在日志中看到的.

 now open)
Fri Nov  9 16:44:34 [conn47] end connection 10.29.16.208:5306 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5307 #48 (2 connections now open)
Fri Nov  9 16:45:04 [conn48] end connection 10.29.16.208:5307 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5308 #49 (2 connections now open)
Fri …
Run Code Online (Sandbox Code Playgroud)

mongodb pymongo

134
推荐指数
14
解决办法
31万
查看次数

使用pymongo执行正则表达式查询

我正在尝试使用pymongo对mongodb服务器执行正则表达式查询.文件结构如下

{
  "files": [
    "File 1",
    "File 2",
    "File 3",
    "File 4"
  ],
  "rootFolder": "/Location/Of/Files"
}
Run Code Online (Sandbox Code Playgroud)

我想获得与模式*文件匹配的所有文件.我试过这样做

db.collectionName.find({'files':'/^File/'})
Run Code Online (Sandbox Code Playgroud)

然而我什么也得不回来,我错过了什么,因为根据mongodb文档,这应该是可能的.如果我在mongo控制台中执行查询它工作正常,这是否意味着api不支持它或我只是错误地使用它

mongodb pymongo

123
推荐指数
4
解决办法
6万
查看次数

在PyMongo中使用.sort

使用PyMongo,当我尝试检索按"数字"和"日期"字段排序的对象时,如下所示:

db.test.find({"number": {"$gt": 1}}).sort({"number": 1, "date": -1})
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

TypeError: if no direction is specified, key_or_list must be an instance of list
Run Code Online (Sandbox Code Playgroud)

我的排序查询有什么问题?

python mongodb pymongo

100
推荐指数
1
解决办法
3万
查看次数

如何在MongoDB中使用'Not Like'运算符

我使用pymongo的SQL'Like'运算符,

db.test.find({'c':{'$regex':'ttt'}})
Run Code Online (Sandbox Code Playgroud)

但是我如何使用'不喜欢'运算符?

我试过了

db.test.find({'c':{'$not':{'$regex':'ttt'}})
Run Code Online (Sandbox Code Playgroud)

regex mongodb pymongo mongodb-query sql-like

88
推荐指数
2
解决办法
7万
查看次数

JSON ValueError:期望属性名称:第1行第2列(char 1)

我无法使用json.loads转换为dict对象,我无法弄清楚我做错了什么.我得到的确切错误是

ValueError: Expecting property name: line 1 column 2 (char 1)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

from kafka.client import KafkaClient
from kafka.consumer import SimpleConsumer
from kafka.producer import SimpleProducer, KeyedProducer
import pymongo
from pymongo import MongoClient
import json

c = MongoClient("54.210.157.57")
db = c.test_database3
collection = db.tweet_col

kafka = KafkaClient("54.210.157.57:9092")

consumer = SimpleConsumer(kafka,"myconsumer","test")
for tweet in consumer:
    print tweet.message.value
    jsonTweet=json.loads(({u'favorited': False, u'contributors': None})
    collection.insert(jsonTweet)
Run Code Online (Sandbox Code Playgroud)

我很确定错误发生在第2行到最后一行

jsonTweet=json.loads({u'favorited': False, u'contributors': None})
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做才能解决它.任何意见,将不胜感激.

python json pymongo

88
推荐指数
3
解决办法
19万
查看次数

如何将数据从mongodb导入到熊猫?

我在mongodb的集合中有大量数据需要分析.如何将数据导入熊猫?

我是熊猫和numpy的新手.

编辑:mongodb集合包含标记有日期和时间的传感器值.传感器值为float数据类型.

样本数据:

{
"_cls" : "SensorReport",
"_id" : ObjectId("515a963b78f6a035d9fa531b"),
"_types" : [
    "SensorReport"
],
"Readings" : [
    {
        "a" : 0.958069536790466,
        "_types" : [
            "Reading"
        ],
        "ReadingUpdatedDate" : ISODate("2013-04-02T08:26:35.297Z"),
        "b" : 6.296118156595,
        "_cls" : "Reading"
    },
    {
        "a" : 0.95574014778624,
        "_types" : [
            "Reading"
        ],
        "ReadingUpdatedDate" : ISODate("2013-04-02T08:27:09.963Z"),
        "b" : 6.29651468650064,
        "_cls" : "Reading"
    },
    {
        "a" : 0.953648289182713,
        "_types" : [
            "Reading"
        ],
        "ReadingUpdatedDate" : ISODate("2013-04-02T08:27:37.545Z"),
        "b" : 7.29679823731148,
        "_cls" : "Reading"
    },
    {
        "a" : 0.955931884300997, …
Run Code Online (Sandbox Code Playgroud)

python mongodb pymongo pandas

84
推荐指数
9
解决办法
7万
查看次数

插入后如何更新Mongo文档?

假设我插入了文档.

post = { some dictionary }
mongo_id = mycollection.insert(post)
Run Code Online (Sandbox Code Playgroud)

现在,假设我想添加一个字段并对其进行更新.我怎么做?这似乎不起作用.....

post = mycollection.find_one({"_id":mongo_id}) 
post['newfield'] = "abc"
mycollection.save(post)
Run Code Online (Sandbox Code Playgroud)

python database mongodb pymongo

76
推荐指数
5
解决办法
10万
查看次数

使用pymongo在mongodb中搜索ObjectId

我需要使用pymongo使用python搜索ObjectId,但我总是得到这个错误.任何想法如何搜索?

import pymongo
from pymongo import MongoClient
from pymongo import ObjectId

gate = collection.find({'_id': ObjectId(modem["dis_imei"])})
print gate

    Traceback (most recent call last):
  File "C:\Users\gerswin\Documents\Proyectos\Demonio py\test.py", line 2, in <module>
    import pymongo
  File "C:\Python27\lib\site-packages\pymongo\__init__.py", line 80, in <module>
    from pymongo.connection import Connection
  File "C:\Python27\lib\site-packages\pymongo\connection.py", line 39, in <module>
    from pymongo.mongo_client import MongoClient
  File "C:\Python27\lib\site-packages\pymongo\mongo_client.py", line 45, in <module>
    from pymongo import (auth,
  File "C:\Python27\lib\site-packages\pymongo\database.py", line 22, in <module>
    from pymongo.collection import Collection
  File "C:\Python27\lib\site-packages\pymongo\collection.py", line 25, in <module>
    from pymongo.cursor import …
Run Code Online (Sandbox Code Playgroud)

python mongodb pymongo

69
推荐指数
1
解决办法
6万
查看次数

PyMongo upsert抛出"upsert必须是bool的一个实例"错误

我在Python上运行MongoDB的更新.我有这条线:

self.word_counts[source].update({'date':posttime},{"$inc" : words},{'upsert':True})
Run Code Online (Sandbox Code Playgroud)

但它抛出了这个错误:

raise TypeError("upsert must be an instance of bool")
Run Code Online (Sandbox Code Playgroud)

True看起来像是bool的一个例子!

我该如何正确编写此更新?

python mongodb pymongo

68
推荐指数
2
解决办法
4万
查看次数

标签 统计

pymongo ×10

mongodb ×9

python ×7

database ×1

json ×1

mongodb-query ×1

pandas ×1

regex ×1

sql-like ×1