爲何要進行批操做?html
答:單條mongo操做不少時間都花費在網絡延遲上了,批操做減小了網絡操做的次數,總體性能大大挺高了。python
文檔來源在哪?mongodb
答:pymongo 官網https://api.mongodb.com/python/current/examples/bulk.htmlapi
mongo 有沒有批量查詢?網絡
答:mongo 沒有批量查詢,須要本身查出來後再判斷;不能批量執行查詢語句。ide
mongo 批量操做示例:性能
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from pprint import pprint from pymongo import MongoClient from pymongo import InsertOne, DeleteOne, ReplaceOne from pymongo.errors import BulkWriteError from pymongo import bulk def test_bulk_write(): """ Breifs: test bulk_write """ client = MongoClient('45.77.10.62', 27017) db = client.news requests = [\ ReplaceOne({'j': 2}, {'i': 5}),\ InsertOne({'_id': 5}), \ DeleteOne({'i': 5})\ ] try: db.test.bulk_write(requests, ordered=True) except BulkWriteError as bwe: pprint(bwe.details) def test_bulk(): """ test bulk """ client = MongoClient('45.77.10.62', 27017) collection = client.news.test operate = bulk.BulkOperationBuilder(collection, ordered = True) operate.insert({'test':'12321', '_id': 123}) operate.insert({'test':'12321', '_id': 124}) operate.execute() if __name__ == '__main__': test_bulk_write() test_bulk()