草庐IT

pymongo-2.x

全部标签

python - 升级到 PyMongo 3.0 导致 ServerSelectionTimeoutError

我最近将Bottle+uWSGI+Nginx应用程序升级到了MongoDB3.0.2。它在PyMongo2.8上运行良好,但今天我通过运行以下命令升级到PyMongo3.0:pipinstall--upgradepymongo我没有对代码做任何其他更改,但现在我不断收到以下错误。File"/pymongo/cursor.py",line968,in__next__iflen(self.__data)orself._refresh():File"/pymongo/cursor.py",line905,in_refreshself.__read_preference))File"/pymo

python - 为什么 db.insert(dict) 在使用 pymongo 时将 _id 键添加到 dict 对象

我通过以下方式使用pymongo:frompymongoimport*a={'key1':'value1'}db1.collection1.insert(a)printa这打印{'_id':ObjectId('53ad61aa06998f07cee687c3'),'key1':'value1'}在控制台上。我知道_id已添加到mongo文档中。但是为什么它也被添加到我的python字典中呢?我不打算这样做。我想知道这样做的目的是什么?我可以将这本词典用于其他目的,并且将词典更新为将其插入文档的副作用吗?例如,如果我必须将这个字典序列化为一个json对象,我将得到一个ObjectId('

python - pymongo:删除重复项( map 减少?)

我确实有一个包含多个集合(总共约1500万个文档)的数据库,文档看起来像这样(简化):{'Text':'blabla','ID':101}{'Text':'Whuppppyyy','ID':102}{'Text':'Abrakadabraaa','ID':103}{'Text':'olalalaal','ID':104}{'Text':'test1234545','ID':104}{'Text':'whapwhapwhap','ID':104}它们也都有一个唯一的_id字段,但我想根据另一个字段(外部ID字段)删除重复项。首先,我尝试了一种非常手动的方法,包括列表并随后删除,但数据库似

python - 如何在 pymongo 中使用 "group"对相似行进行分组?

我是mongodb/pymongo的新手。我已经成功地将我的数据导入到mongo中,并且想使用group函数将相似的行分组在一起。例如,如果我的数据集如下所示:data=[{uid:1,event:'a',time:1},{uid:1,event:'b',time:2},{uid:2,event:'c',time:2},{uid:3,event:'d',time:4}]如何使用group函数将上述行按照uid字段进行分组,输出如下?{{uid:1}:[{uid:1,event:'a',time:1},{uid:1,event:'b',time:2}],{uid:2}:[{uid:2,e

python - 带日期时间的 MongoDB/Pymongo 查询

我正在尝试通过pymongo检索我插入到mongodb中的数据。我的插入代码如下(通过正则表达式解析后)ifconnectionisnotNone:db.model.insert({"time":datetime.datetime(int(int3),int(int1),int(int2),int(int4),int(int5),int(int6),int(int7))})然后我在shell中输入了两个数据点。>>>start=datetime.datetime(2012,2,2,6,35,6,764)>>>end=datetime.datetime(2012,2,2,6,55,3,3

python - MongoLab/PyMongo 连接错误

如果我在shell中运行:mongods0219xx.mlab.com:219xx/dbname-uuser-ppass它可以工作并允许我连接到数据库并提取信息。但是如果我在我的python应用程序(Flask)中运行这个:importpymongoclient=pymongo.MongoClient("mongodb://user:pass@ds0219xx.mlab.com:219xx/dbname")db=client["dbname"]db.users.insert_one({"user1":"hello"})它给了我一个:pymongo.errors.OperationFai

python - 与 native pymongo 使用相比,Mongoengine 在大型文档上非常慢

我有以下mongoengine模型:classMyModel(Document):date=DateTimeField(required=True)data_dict_1=DictField(required=False)data_dict_2=DictField(required=True)在某些情况下,数据库中的文档可能非常大(大约5-10MB),并且data_dict字段包含复杂的嵌套文档(字典列表的字典等)。我遇到了两个(可能相关的)问题:当我运行nativepymongofind_one()查询时,它会在一秒钟内返回。当我运行MyModel.objects.first()时需

python - 如何使用pymongo将日期时间字符串作为ISODate插入Mongodb

如何将这样的日期时间字符串"2017-10-13T10:53:53.000Z"作为ISODate插入到mongo数据库中?当我插入时,我在mongodb中得到一个字符串:datetime.strptime("2017-10-13T10:53:53.000Z","%Y-%m-%dT%H:%M:%S.000Z") 最佳答案 这对我有用:frompymongo.mongo_clientimportMongoClientimportdatetimed=datetime.datetime.strptime("2017-10-13T10:53:

python - pymongo.errors.OperationFailure : error

我在不同的port上使用不同的dbpath启动了3个mongod进程。./bin/mongod--replSetfoo/tauquir:27018,tauquir:27019--rest./bin/mongod--port27018--dbpath/data/db1--replSetfoo/tauquir:27017--rest./bin/mongod--port27019--dbpath/data/db2--replSetfoo/tauquir:27017--rest开始连接为:CONN=Connection("tauquir:27017",slave_okay=True)CONN.

python - pymongo.errors.OperationFailure : error

我在不同的port上使用不同的dbpath启动了3个mongod进程。./bin/mongod--replSetfoo/tauquir:27018,tauquir:27019--rest./bin/mongod--port27018--dbpath/data/db1--replSetfoo/tauquir:27017--rest./bin/mongod--port27019--dbpath/data/db2--replSetfoo/tauquir:27017--rest开始连接为:CONN=Connection("tauquir:27017",slave_okay=True)CONN.