如何使用 django 文件中的 pymongo 在 mongodo 中插入一个文档/行 views.py? 使用发布方



我已经使用以下连接连接了一个mongo db,并且我正在尝试使用post方法在该数据库中插入一条记录/行/文档,但是我很困惑如何通过以下情况做到这一点。

"通过邮寄方法检查记录是否已经存在,如果没有,那么 创建记录">

这就是我建立连接和成功建立连接的方式。 dcollection 中的字段包括 ID、名字、姓氏student_id

我想这样做。

"通过邮寄方法检查记录是否已经存在,如果没有,那么 创建记录"。

import pymongo
from pymongo import MongoClient
db_name = 'student_db'
client = MongoClient('localhost', 27017)
db_obj = client[db_name]
collection=db_obj['mongo_app_student']

Mongo有一组很棒的更新插入命令,如replace_onereplace_many

查看另一篇关于它的精彩文章,当然还有 -> MONGO 文档

请参阅下面的示例,希望这就是您要查找的内容

client = MongoClient('localhost', 27017)
db = client.student_db
collection = db.mongo_app_student
collection.insert_one({"name":"vladimir"})
for document in collection.find(): 
pprint(document)

合并命令

obj1 = {"name":"Vladimir"} # V in upper case here
collection.update_one( { "name" : obj1["name"] } , {"$set":obj1} , True ) # True means Upsert
obj2 = {"name":"Being Human"}
collection.update_one( { "name" : obj2["name"] } , {"$set":obj2} , True ) # True means Upsert
for document in collection.find(): 
pprint(document)

来自Pymongo Docs的另一个例子

obj1 = {"name":"Vladimir"}
obj2 = {"name":"Being Human"}
requests = [ReplaceOne({"name" : obj1["name"]}, obj1, upsert=True),ReplaceOne({"name" : obj2["name"]}, obj2, upsert=True)]
result = collection.bulk_write(requests)
result.modified_count

最新更新