草庐IT

pymongo-2.x

全部标签

mongodb - 使用 pymongo 的 MongoDB 的 dateFromString 运算符问题

我对dateFromString运算符有疑问我想使用dateFromString运算符从字符串中解析日期。日期在某个集合的“已发布”字段中我使用的是Python3.6.4,MongoDBshell版本v3.6.2,pymongo'3.6.0'我收到以下错误消息:pymongo.errors.OperationFailure:Unrecognizedexpression'$dateFromString'有人可以帮忙吗?这是我的代码pipeline=[{'$limit':100},{'$project':{'released':{'$cond':{'if':{'$eq':['$releas

mongodb - 为什么 PyMongo count_documents 比 count 慢?

在db['TF']中,我有大约6000万条记录。我需要获取记录的数量。如果我运行db['TF'].count(),它会立即返回。如果我运行db['TF'].count_documents({}),我需要很长时间才能得到结果。但是,count方法将被弃用。那么,如何在使用count_documents时快速获取数量呢?有没有我遗漏的参数?我已经阅读了文档和代码,但没有找到。非常感谢! 最佳答案 这不是关于PyMongo,而是关于Mongo本身。count是原生的Mongo函数。它并没有真正计算所有文件。每当您在Mongo中插入或删除一

mongodb - pymongo/mongodb 高级查询

我是pymongo/mongodb的新手,现在我遇到了挑战。我在mongodb(v2.04)中存储了以下结构。{"t":,"d":{"uid":,"action":}}此结构跟踪用户操作,与我的原始结构相比,复杂性略有降低。数据非常庞大,查询将有一个限制日期跨度以减少结果。我想要的是能够创建一个表,其中包含在特定时间跨度内执行最多操作的用户。表:RankUid#numactions1523522372343574229到目前为止,我只有查询的零碎部分:query={"t":{"$lte":end_utc,"$gte":start_utc}}db.actions.find(query).

python - 将 Flask 与 PyMongo 结合使用

我有Flask应用程序,它看起来像这样:fromflaskimportFlaskapp=Flask(__name__)frompymongoimportMongoClientdefget_db():c=MongoClient()returnc.mydb@app.route("/")defhello():db=get_db()db.foo.find_one(...)...if__name__=="__main__":app.run()看起来它工作正常。但我不确定一件事。我在每个View调用中都创建了一个MongoClient实例(以及到数据库的连接)。但是我应该关闭连接吗?也许我应该在每

python - 如何使用 pymongo 重命名 mongodb 数据库?

我需要重命名我使用pymongo创建的数据库。我想使用pymongo来完成它。我找到了thisotherstackoverflowquestion这非常相似,代码片段看起来像pythonesque,除了use关键字使它......我不知道是什么(更新:可能是Perl?)。我做了一个client.copy_database('old_name','new_name)然后发现我在`client.database_names()'中有new_name。但是里面好像没有收藏品?我还需要做什么,才能使用pymongo命令深度复制数据库? 最佳答案

python - PyMongo/MongoDB - 起点和终点 LatLon 的地理空间查询

在Python中使用PyMongo,我正在尝试对设定半径内的OriginLatLon和DestinationLatLon进行GeoSpatial查询,并打印第一个结果。我下面的内容是我认为应该是的,但是我得到了一个错误。解决这个问题的正确方法是什么?代码:origin=[float(44.8697193),float(13.8414046)]dest=[float(48.1367203),float(11.576754)]query=db.collection.find({'origLatLng':{'$within':{'$center':[origin,.75]}}},{'dest

mongodb - pymongo 无法连接到远程服务器上的数据库

我已经设置了一个在外部主机服务器上运行的mongodb服务器,我可以通过在客户端计算机shell中执行以下操作轻松连接mongo客户端:162.243.27.34--port27017但是当我尝试使用python使用pymongo连接到服务器时,我得到以下输出importpymongoclient=pymongo.MongoClient('162.243.27.34',27017)错误Traceback(mostrecentcalllast):File"",line1,inFile"/usr/local/lib/python2.7/dist-packages/pymongo/mongo

python - PyMongo 使用元数据排序

我想知道如何将以下mongodb查询转换为pymongo语法db.articles.find({$text:{$search:"cake"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}}).limit(3)我试过这个:results=\mongo.db.products.find({'$text':{'$search':'cake'}},{'score':{'$meta':'textScore'}})\.sort({'score':{'$meta':'textScore'}})\.limit(3)但是我在排

python - 检查列表是否为空 pymongo

我想为mongo中的特定ID返回数据库中名为list_followers的列表。但是,数据库的某些文档的列表大小为零。因此,我得到了list_followers的key_error。list_of_ids=[]forcursorincollection.find({"list_followers":{"$exists":True}}):id=cursor['_id']['uid']list_of_ids.append(id)followers=cursor['list_followers']printlen(followers)printlen(list_of_ids)如何只查询lis

python - PyMongo 返回 float 而不是整数

我在Mongo中有一个存储URL的集合,为此我使用以下字段:协议(protocol)(类型:字符串)-例如:https主机(类型:字符串)-例如:google.com端口(类型:整数)-例如:80在mongo客户端我执行db.myCollection.find()它返回{"protocol":"https","host":"google.com","port":80}在带有PyMongo的Python中我执行forserviceinmyCollection.find():printservice['port']它返回80.0我的号码是以整数形式存储的吗?使用PyMongo,如何将其返回