草庐IT

pymongo-2.x

全部标签

python - 在 pymongo 中查询 explain ("executionStats")

我对包括解释在内的请求有疑问。例如,以下请求效果很好:pp.pprint(col.find({"cuisine":"Italian"},{"name":1,"address.zipcode":1,"address.coord":1}).explain())解释方法的项目列表打印得很好。但是,当我只需要来自explain()方法的executionStats项时,请求如下:pp.pprint(col.find({"cuisine":"Italian"},{"name":1,"address.zipcode":1,"address.coord":1}).explain("execution

python - 在 PyMongo 中使用正则表达式动态构建查询

我想从Python查询MongoDB上的不同字段,就像在高级搜索中一样。为了让示例保持简单,只有一个字段,如果我在Mongo上手动查询{'Title':/mystring,我会得到预期的结果。在Python上,我正在执行以下操作:query={}args=request.formforarginargs:key="{0}".format(arg)ifargs[arg]!="":query[key]="/"+args[arg].lower()+"/"然而,查询是这样的(注意引号):{'Title':'/mystring/'}所以我没有得到任何结果。如何实现正确的查询?

mongodb - 是否可以使用 pymongo 创建用户定义的角色?

我有一个包含大约30个数据库的MongoDB实例,每个数据库都有一个“client_data”集合。我想授予我的客户跨所有数据库而不是其他集合对该集合的读取权限。我想写一个脚本来做这样的事情:mongoclient=pymongo.MongoClient("mongodb://admin:password@host/port")rolenames=[]fordbnameinmongoclient.get_databases():db=mongoclient[dbname]rolename=dbname+"role"rolenames.append[rolename]db.create_

mongodb - pymongo 聚合不允许解释选项

我成功运行了:result=my_col.aggregate(my_pipeline,allowDiskUse=True)现在当我尝试时:result=my_col.aggregate(my_pipeline,allowDiskUse=True,explain=True)它没有说:pymongo.errors.ConfigurationError:Theexplainoptionisnotsupported.UseDatabase.commandinstead.因此我尝试添加所需的选项:result=mydb.command('aggregate','mycol',my_pipelin

python - 如何从 Pymongo 执行 JS 脚本文件?

我的MongoDB数据库有一个MapReduce作业,在Javascript脚本文件中实现。我已经从命令行和Mongoshell(load("MR_stack.js"))对其进行了测试。现在我在一个更大的应用程序中使用Pymongo来访问Mongo数据库。如何从Pymongo中执行我的MR_stack.js脚本? 最佳答案 数据库对象有一个eval方法:http://api.mongodb.org/python/current/api/pymongo/database.html 关于py

python - 带有生成器的 PyMongo 批量写入操作特性

我想使用PyMongo的bulk执行写操作的写操作功能分批处理以减少网络往返次数并增加仪式吞吐量。我还找到了here可以使用5000作为批号。但是,我不想要批号的最佳大小以及如何在以下代码中将PyMongo的批量写入操作功能与生成器相结合?frompymongoimportMongoClientfromitertoolsimportgroupbyimportcsvdefiter_something(rows):key_names=['type','name','sub_name','pos','s_type','x_type']chr_key_names=['letter','no']

python - 使用 pymongo 和 flask 插入数据

当我点击提交按钮时,我收到一条错误消息:"TypeError:'Collection'objectisnotcallable.Ifyoumeanttocallthe'insert'methodona'Database'objectitisfailingbecausenosuchmethodexists."这是我的signin.py代码:fromflaskimportFlask,request,render_templatefrompymongoimportMongoClient@app=Flask(__name__)connection=MongoClient()db=connecti

python - 检查 Pymongo 中是否存在字段

我有一个这样的集合:{"_id":"1321464""Sex":"Male""Age":"20""City":"Toronto"#Maybethisfieldarenotpresent.}我想找到我的所有文档,其中“城市”字段不存在。我试试:collection.find({"sex":"Male"},{"City":{"$exists":False}},{'Age':1,'_id':0})我有这个错误信息:File"/usr/local/lib/python2.7/dist-packages/pymongo/collection.py",line1239,infindreturnCu

python - Pymongo:如何检查更新是否成功?

Pymongo如何查看更新是否成功?如果记录用相同的值更新,则应将其视为成功更新。即,即使修改的计数为零,它也被认为是成功的更新。这个怎么做。result=_db.testcollection.update_one({"_id":col_id},{"$set":obj})returnTrueifresult.modified_count>0elseFalse如果值发生变化,这会很好地工作。但即使从技术上讲记录没有更改,我也想返回true,因为记录与我们要更新的记录相同。如何做到这一点? 最佳答案 以下解决方案对我有用。检查match

python - 如何在 Pymongo 中每次插入时自动增加 id?

我正在使用pymongo在mongodb中插入文档。这是router.py文件的代码temp=db.admin_collection.find().sort([("_id",-1)]).limit(1)fordocintemp:admin_id=str(int(doc['_id'])+1)admin_doc={'_id':admin_id,'question':ques,'answer':ans,}collection.insert(admin_doc)我应该怎么做才能在每次插入时将_id递增1。 最佳答案 这似乎不是一个好主意,但