Python MongoDB - 插入文档
您可以使用 insert() 方法将文档存储到 MongoDB 中。此方法接受 JSON 文档作为参数。
语法
以下是 insert 方法的语法。
>db.COLLECTION_NAME.insert(DOCUMENT_NAME)
示例
> use mydb switched to db mydb > db.createCollection("sample") { "ok" : 1 } > doc1 = {"name": "Ram", "age": "26", "city": "Hyderabad"} { "name" : "Ram", "age" : "26", "city" : "Hyderabad" } > db.sample.insert(doc1) WriteResult({ "nInserted" : 1 }) >
同样,您也可以使用 insert() 方法插入多个文档。
> use testDB switched to db testDB > db.createCollection("sample") { "ok" : 1 } > data = [ {"_id": "1001", "name": "Ram", "age": "26", "city": "Hyderabad"}, {"_id": "1002", "name" : "Rahim", "age" : 27, "city" : "Bangalore" }, {"_id": "1003", "name" : "Robert", "age" : 28, "city" : "Mumbai" } ] [ {"_id" : "1001", "name" : "Ram", "age" : "26", "city" : "Hyderabad"}, {"_id" : "1002", "name" : "Rahim", "age" : 27, "city" : "Bangalore"}, {"_id" : "1003", "name" : "Robert", "age" : 28, "city" : "Mumbai"} ] > db.sample.insert(data) BulkWriteResult({ "writeErrors" : [ ], "writeConcernErrors" : [ ], "nInserted" : 3, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] }) >
使用 Python 创建集合
Pymongo 提供了一个名为 insert_one() 的方法来在 MangoDB 中插入文档。对于此方法,我们需要以字典格式传递文档。
示例
以下示例在名为 example 的集合中插入一个文档。
from pymongo import MongoClient #创建 pymongo 客户端 client = MongoClient('localhost', 27017) #获取数据库实例 db = client['mydb'] #创建集合 coll = db['example'] #将文档插入集合 doc1 = {"name": "Ram", "age": "26", "city": "Hyderabad"} coll.insert_one(doc1) print(coll.find_one())
输出
{'_id': ObjectId('5d63ad6ce043e2a93885858b'), 'name': 'Ram', 'age': '26', 'city': 'Hyderabad'}
要使用 pymongo 将多个文档插入 MongoDB,您需要调用 insert_many() 方法。
from pymongo import MongoClient #创建 pymongo 客户端 client = MongoClient('localhost', 27017) #获取数据库实例 db = client['mydb'] #创建集合 coll = db['example'] #将文档插入集合 data = [ {"_id": "101", "name": "Ram", "age": "26", "city": "Hyderabad"}, {"_id": "102", "name": "Rahim", "age": "27", "city": "Bangalore"}, {"_id": "103", "name": "Robert", "age": "28", "city": "Mumbai"} ] res = coll.insert_many(data) print("Data inserted ......") print(res.inserted_ids)
输出
Data inserted ...... ['101', '102', '103']