对mongodb的常用操作
批量插入单个字段
db.getCollection(‘projectInfo’).find().forEach(
function(item){
db.getCollection(‘projectInfo’).update({"_id":item._id,“updateTime”:{KaTeX parse error: Expected 'EOF', got '}' at position 13: exists:false}̲},{set:{“updateTime”:new Date()}});
db.getCollection(‘projectInfo’).update({"_id":item._id,“createTime”:{KaTeX parse error: Expected 'EOF', got '}' at position 13: exists:false}̲},{set:{“createTime”:new Date()}});
}
);
db.getCollection(‘enterpriseInfo’).find().forEach(
function(item){
db.getCollection(‘enterpriseInfo’).update({"_id":item._id,“updateTime”:{KaTeX parse error: Expected 'EOF', got '}' at position 13: exists:false}̲},{set:{“updateTime”:new Date()}});
db.getCollection(‘enterpriseInfo’).update({"_id":item._id,“createTime”:{KaTeX parse error: Expected 'EOF', got '}' at position 13: exists:false}̲},{set:{“createTime”:new Date()}});
}
);
db.getCollection(‘staff’).find().forEach(
function(item){
db.getCollection(‘staff’).update({"_id":item._id,“updateTime”:{KaTeX parse error: Expected 'EOF', got '}' at position 13: exists:false}̲},{set:{“updateTime”:new Date()}});
db.getCollection(‘staff’).update({"_id":item._id,“createTime”:{KaTeX parse error: Expected 'EOF', got '}' at position 13: exists:false}̲},{set:{“createTime”:new Date()}});
}
);
db.getCollection(‘information’).find().forEach(
function(item){
db.getCollection(‘information’).update({"_id":item._id,“updateTime”:{KaTeX parse error: Expected 'EOF', got '}' at position 13: exists:false}̲},{set:{“updateTime”:new Date()}});
db.getCollection(‘information’).update({"_id":item._id,“createTime”:{KaTeX parse error: Expected 'EOF', got '}' at position 13: exists:false}̲},{set:{“createTime”:new Date()}});
}
);
{{“item.data.title.value”:{"$regex":“麻城市三河口水厂新建工程”}}}
mongodb删除某个集合某个字段 :db.crawlRecord.update({indexError:101},{$unset:{indexError:1}},false,true)
KaTeX parse error: Expected '}', got 'EOF' at end of input: …{name:"lisi"},{unset:{age:1}})
注:只要unset有值,那么这个删除就会执行,age:0也会执行删除操作。
update()函数接受以下四个参数:
criteria : update的查询条件,类似sql update查询内where后面的。
objNew : update的对象和一些更新的操作符(如
,
,
,inc…)等,也可以理解为sql update查询内set后面的
upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
{“updateTime”:{KaTeX parse error: Expected 'EOF', got '}' at position 41: …11:16:08.146Z")}̲}查询时间大于等于 {"upd…lte:new Date(“2017-06-20T11:16:08.146Z”)}}查询时间小于等于
mongodb某张表查重方法:
db.enterpriseInfo.aggregate(
{‘KaTeX parse error: Expected '}', got 'EOF' at end of input: …id': {'name': 'name’},
‘count’ : {‘KaTeX parse error: Expected 'EOF', got '}' at position 8: sum': 1}̲ }}, {'match’: {
‘count’: {’$gt’: 1}
}}
)
{“item.data.title.value”:{"$regex":“宜昌长江大桥总公司桥梁检查与设计项目标段”}}
mongodb查询子项
{“item.data.name.value”:“上海翰岳实业发展有限公司”}
最大连接数(集群需要每台执行一次):$ /data/mongodb2/bin/mongod --fork --replSet res1 --port 10100 -maxConns 10000 --dbpath /data/mongodb2/db --directoryperdb --logpath /data/mongodb2/logs/db.log --logappend --nohttpinterface
mongodb集群搭建
148
/data/mongodb2/bin/mongod --replSet res1 --fork --dbpath /data/mongodb2/db1
/data/mongodb2/bin/mongod --replSet res1 --fork --port 10400 --storageEngine wiredTiger --dbpath /data/mongodb2/arbiter1 –
配置节点kill
10200
159:/data/mongodb2/bin/mongod --replSet res1 --fork --port 10100 --storageEngine wiredTiger --dbpath /data/mongodb2/db1 –
/data/mongodb2/bin/mongod --replSet res1 --fork --port 10400 --storageEngine wiredTiger --dbpath /data/mongodb2/arbiter1
10400
/data/mongodb2/bin/mongod --replSet res1 --fork --port 10300 --storageEngine wiredTiger --dbpath /data/mongodb2/arbiter --directoryperdb --logpath /data/mongodb2/logs/arbiter
118:10300
/data/mongodb3/bin/mongod --replSet res1 --fork --port 10300 --storageEngine wiredTiger --dbpath /data/mongodb2/db1 --directoryperdb --logpath /data/mongodb2/logs/db1.log
mongodb集群搭建的另种方式
新部署方式:
159:
/data/mongodb3/bin/mongod --replSet res1 --fork --port 27017 --dbpath /data/mongodb3/dbbackup/db1 --directoryperdb --logpath /data/mongodb3/logs/db1.log --storageEngine wiredTiger
cfg={_id:“repset”,members:[{_id:0,host:“192.168.0.118:27017”},{_id:1,host:“192.168.0.148:27017”},{_id:2,host:“192.168.0.159:27017”}]};
118:
/data/mongodb3/bin/mongod --replSet res1 --fork --port 27017 --dbpath /data/mongodb3/db --logpath /data/mongodb3/logs/db1.log
/data/mongodb3/bin/mongod --port 27017 --dbpath /data/mongodb3/db --logpath /data/mongodb3/logs/db1.log --directoryperdb
148:
/data/mongodb3/bin/mongod --replSet res1 --fork --port 27017 --dbpath /data/mongodb3/db --logpath /data/mongodb3/logs/db1.log
如果对集群部署还有问题的,可以参见我的部署文档,下载地址:
https://download.csdn.net/download/u011004306/12292128