##################################
一、插入数据insert :
插入一条数据:
db.products.insert( { _id: 10, item: "box", qty: 20 } )
插入多条数据:
db.products.insert( [ { _id: 11, item: "pencil", qty: 50, type: "no.2" }, { item: "pen", qty: 20 }, { item: "eraser", qty: 25 } ] )
二、一次插入一条数据insertOne :
db.products.insertOne( { item: "card", qty: 15 } );
三、一次插入多条数据insertMany :
db.restaurants.insertMany( [ { "_id" : 1, "name" : "Central Park Cafe", "borough" : "Manhattan"}, { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "borough" : "Queens"}, { "_id" : 3, "name" : "Empire State Pub", "borough" : "Brooklyn"}, { "_id" : 4, "name" : "Stan's Pizzaria", "borough" : "Manhattan"}, { "_id" : 5, "name" : "Jane's Deli", "borough" : "Brooklyn"}, ] );
判断集合是否为固定集合:db.collection.isCapped()
mivpn:PRIMARY> db.system.profile.isCapped() true mivpn:PRIMARY> db.igoodful.isCapped() false mivpn:PRIMARY>
- Write Concern
默认情况下,Primary完成写操作即返回,Driver可通过配置Write Concern来设置写成功的规则,详情请参见Write Concern。
如下的write concern规则设置写必须在大多数节点上成功,超时时间为5秒。
db.products.insert( { item: "envelopes", qty : 100, type: "Clasp" }, { writeConcern: { w: majority, wtimeout: 5000 } } )
上面的设置方式是针对单个请求的,也可以修改副本集默认的write concern,这样就不用单独设置每个请求。
cfg = rs.conf() cfg.settings = {} cfg.settings.getLastErrorDefaults = { w: "majority", wtimeout: 5000 } rs.reconfig(cfg)
###################################