如何在集合级别的 pymongo 中添加 wiredTiger?
How to add wiredTiger in pymongo at collection level?
我正在尝试使用 wiredTiger 引擎在 MongoDB 3.0 中启用数据压缩。压缩在服务器级别工作正常,我可以为 mongo 服务器配置文件中的所有集合提供全局压缩算法,如下所示:
storage:
engine: wiredTiger
wiredTiger:
collectionConfig:
blockCompressor: zlib
我想在集合级别启用此压缩,这可以通过在 mongodb shell:
中使用以下代码来完成
db.createCollection( "test", {storageEngine:{wiredTiger:{configString:'block_compressor=zlib'}}} );
我如何使用 pymongo 驱动程序执行此操作?
from pymongo import MongoClient
client = MongoClient("localhost:27017")
db = client.mydb
鉴于它通过 Mongo shell 工作,通过 pymongo 传递相同的参数:
db.create_collection('test',
storageEngine={'wiredTiger':{'configString':'block_compressor=zlib'}})
从 official docs 我们看到
create_collection(name, codec_options=None, read_preference=None,
write_concern=None, read_concern=None, **kwargs)
...
**kwargs (optional): additional keyword arguments will be passed as options for the create collection command
我正在尝试使用 wiredTiger 引擎在 MongoDB 3.0 中启用数据压缩。压缩在服务器级别工作正常,我可以为 mongo 服务器配置文件中的所有集合提供全局压缩算法,如下所示:
storage:
engine: wiredTiger
wiredTiger:
collectionConfig:
blockCompressor: zlib
我想在集合级别启用此压缩,这可以通过在 mongodb shell:
中使用以下代码来完成db.createCollection( "test", {storageEngine:{wiredTiger:{configString:'block_compressor=zlib'}}} );
我如何使用 pymongo 驱动程序执行此操作?
from pymongo import MongoClient
client = MongoClient("localhost:27017")
db = client.mydb
鉴于它通过 Mongo shell 工作,通过 pymongo 传递相同的参数:
db.create_collection('test',
storageEngine={'wiredTiger':{'configString':'block_compressor=zlib'}})
从 official docs 我们看到
create_collection(name, codec_options=None, read_preference=None, write_concern=None, read_concern=None, **kwargs)
...
**kwargs (optional): additional keyword arguments will be passed as options for the create collection command