pymongo

Manage Python Multiprocessing with MongoDB

一世执手 提交于 2020-02-05 05:51:05
问题 I'm trying to run my code with a multiprocessing function but mongo keep returning "MongoClient opened before fork. Create MongoClient with connect=False, or create client after forking." I really doesn't understand how i can adapt my code to this. Basically the structure is: db = MongoClient().database db.authenticate('user', 'password', mechanism='SCRAM-SHA-1') collectionW = db['words'] collectionT = db['sinMemo'] collectionL = db['sinLogic'] def findW(word): rows = collectionw.find({"word"

Pymongo - ValueError: NaTType does not support utcoffset when using insert_many

泪湿孤枕 提交于 2020-02-02 14:15:11
问题 I am trying to incrementally copy documents from one database to another. Some fields contain date time values in the following format: 2016-09-22 00:00:00 while others are in this format: 2016-09-27 09:03:08.988 I extract and insert the documents like so: pd.DataFrame(list(db_prod.db_name.collction_name.find({'_updated_at': {'$gt': last_added_timestamp}}).sort('_updated_at', 1))) add = (df.to_dict('records')) try: db_incremental.other_db.collection_name.insert_many(add) except BulkWriteError

Python操作MongoDB

白昼怎懂夜的黑 提交于 2020-02-01 19:34:28
- 安装模块:pip install pymongo - 创建连接对象: from pymongo import MongoClient client = MongoClient(host, port) # 未指定参数默认连接localhost:27017 可使用完整的MongoDB URI来定义连接:client = MongoClient("mongodb://host:port") - 数据库对象:使用属性或者[]方式访问数据库 db = client.test / db = client["test"] - 集合对象:使用属性或者[]方式访问集合 col = db.test1 / col = db["test1"] pymongo文档:https://www.cnblogs.com/zhouxuchen/p/5544227.html 插入文档 pymongo提供两个方法进行文档插入:(插入的集合不存在创建该集合) - insert_one():接收字典对象插入,返回InsertOneResult对象,其insert_id属性表示被插入文档的_id - insert_many():接收文档列表(可迭代即可),返回InsertManyResult对象,其insert_ids属性表示插入多个文档的_id,可使用for循环迭代 >>> from pymongo import

$nin with the $expr

微笑、不失礼 提交于 2020-01-30 05:16:15
问题 I have a query to find if a user CreatedBy is in a SharedWith . I want to inverse the query to check if the CreatedBy is not in SharedWith . [ { "$match": { "$and": [ { "$and": [ { "SharedWith": { "$exists": true } }, { "$expr": { "$in": [ "$CreatedBy", "$Multi_User" ] } } ] } ] } } ] MongoDB does not support a direct $nin or $not for $and query. Any idea how to achieve this. The user document looks like this, Collection = [ {"CreatedBy": {"_id": "User001", "Email": "user@eg.com", "Name":

MongoDB 2.5、与python交互

断了今生、忘了曾经 提交于 2020-01-30 01:00:35
2.5、与python交互 点击查看 官方文档 安装python包 进入虚拟环境 sudo pip install pymongo 或源码安装 python setup.py 引入包pymongo import pymongo 类MongoClient 连接,创建客户端 无安全认证:client=pymongo.MongoClient('mongodb://localhost:27017') 有安全认证:client=pymongo.MongoClient('mongodb://用户名:密码@localhost:27017/数据库名称') 类database 获得数据库test1 db=client.test1 类collection 主要方法如下 insert_one() insert_many() update_one() update_many() delete_one() delete_many() find_one() find() 获取集合stu stu = db.stu 添加文档,可以返回文档的id s1={name:'gj',age:18} s1_id = stu.insert_one(s1).inserted_idprint(s1_id) 修改文档   scores.update_one({'name':'zsf'},{'$set':{'name':'张三丰'}}

Fetch 3 days data from mongoDB using python

99封情书 提交于 2020-01-25 07:05:07
问题 I am trying to fetch 3 days old data from mongoDB using python (pymongo). I am quite new to mongodb. How to do this ?.Thanks in advance. My db entries are following : { "_id" : ObjectId("5d720d1d9c338906de2dbc812"), "timestamp" : ISODate("2019-11-12T08:00:00Z"), "city" : 'abc' } { "_id" : ObjectId("5d720d1d9c338906de2dbc813"), "timestamp" : ISODate("2019-11-11T09:00:00Z"), "city" : 'xyz' } { "_id" : ObjectId("5d720d1d9c338906de2dbc84"), "timestamp" : ISODate("2019-07-18T06:00:00Z"), "city":

Store images in MongoDB

白昼怎懂夜的黑 提交于 2020-01-25 06:12:44
问题 I'm using PyMongo to connect to my database, when a user uploads an image I want to store it using GridFS within the users specific document in the collection. I'm doing it as so: class uploadHandler(BaseHandler): @tornado.web.authenticated def get(self): self.render("upload.html",user=self.current_user) def post(self): db = pymongo.Connection('mongodb://heroku_app.mongolab.com:/heroku_app').heroku_appxxxx user = db.userInfo.find_one({'Username':self.current_user}) file1 = self.request.files[

在Python中使用MongoDB

♀尐吖头ヾ 提交于 2020-01-25 05:05:46
目录 先决条件 PyMongo实现 创建操作 读取操作 更新操作 删除操作 MongoEngine实现 创建操作 读取操作 更新操作 删除操作 结论 在我们的 《 MongoDB 定义 指南》中 ,我们涵盖了很多基础。在这里,您可以获得有关 NoSQL 数据库,它们是什么,如何使用它们以及使用它们的 好处 的更多信息。除此之外,您还可以找到有关不同 类型 的 NoSQL 数据库及其最受欢迎的 代表的 更多信息。这些类型之一是所谓的 Document NoSQL 数据库,它们最受欢迎的代表是 MongoDB 。 因此,我们继续介绍了该数据库的一些 基础 。在那里,您可以学习如何安装 MongoDB ,创建数据库、集合、文档以及如何使用这些实体。另外,还有许多有关 MongoDB 部署、 分片、副本集以及如何操作它们的信息。您也可以找到如何在 .NET 环境、 JavaScript MEAN 框架和 无服务器 环境中 使用 此数据库。因此,我们希望以此为基础,并写一篇文章,介绍如何在 Python 中 使用 MongoDB 。 在本文中,我们实现了一个 存储库 ,您可以使用该 存储库 来处理 Users 组中的 数据。我们在 .NET 的《 MongoDB 定义指南》中 做了类似的事情。实际上,我们提出了 两种 实现 方法 ,即,使用两个 Python 模块—— PyMongo 和

NoSQL学习之路(三):MongoDB Shell的使用

点点圈 提交于 2020-01-24 16:23:52
  本文地址: http://www.cnblogs.com/egger/archive/2013/05/01/3053239.html 欢迎转载 ,请保留此链接๑•́ ₃•̀๑!   本文介绍数据库的4个基本操作:创建、读取、更新和删除(CRUD)。   接下来的数据库操作演示,我们使用MongoDB自带简洁但功能强大的JavaScript shell,MongoDB shell是一个独立的DB客户端( 它也是功能完备的JavaScript解释器 可以运行任何JavaScript程序 ),MongoDB shell的使用介绍请阅读博文《 NoSQL学习之路(三):MongoDB Shell的使用 》。 CRUD 1.C 创建   insert函数添加一个文档到集合里面。   直接将文档作为参数:     >db.post.insert({"title":"Ex.1"})   或者将文档赋值给变量,变量作为方法的参数。   下面我们添加一篇文章。首先,创建一个局部变量post,JavaScript对象作为文档的内容的赋值给post。里面会有"title","author","content"和"date"等键值。      使用count()查询集合中文档条数:    当我们成功的插入一条文档到集合中后,我们会发现多了一个键"_id"和自动生成的ObjectId类型值。[详情:

How can I tell if there are more results from a query in MongoDB?

你离开我真会死。 提交于 2020-01-24 13:40:08
问题 Is there a preferred way to query mongo with a limit and know whether there will be more results if I query for the next page with skip/limit? What I have been doing is asking for one more document than I need, slicing it off the end, and using the existence of that extra document to know whether another query will give at least one more result. n = 10 docs = db.documents.find({'foo': 'bar'}).limit(n+1) more = docs.count() > n docs = docs[:n] I feel like this is a common use case (knowing