多条数据修改
db.getCollection('license').update({"_id": ObjectId('123456')},{$set:{"type":"test"}},false,true);
//更新为此id值的某条数据,并将它的type字段赋值为test
最后一个参数:为flase代表只更新一条,为true代表更新所有
字段模糊查询
db.getCollection('license').count({state : 11,area_code:{"$regex": "4104"},catalogType:"食品经营许可证"})
db.getCollection('license').find({state : 11,area_code:{"$regex": "4104"},catalogType:"食品经营许可证"})
count为计数;find为显示出这些数据
Mongo库选择条件计数
db.getCollection('license_copy1').count({
catalogType:{$in:['不动产登记证明','中华人民共和国不动产权证书','中华人民共和国不动产权证']},
//license_number:{"$regex": /(/}
license_number:/\(/
});
db.getCollection('license_copy1').count({
catalogType:{$in:['不动产登记证明','中华人民共和国不动产权证书','中华人民共和国不动产权证']},
//license_number:{"$regex": /(/}
license_number:/\(/
});
Mongo修改括号中英文
db.getCollection('license').find({
catalogType:{$in:['不动产登记证明','中华人民共和国不动产权证书','中华人民共和国不动产权证']}
}).forEach(
function(item) {
var tmp = String(item.license_number)
tmp = tmp.replace('(','(')
tmp = tmp.replace(')',')')
if (tmp == null){
print(item.license_number)
}
item.license_number = tmp ;
db.getCollection('license').save(item);
}
).limit(100);
修改状态值为1,且为整型
db.getCollection('license').update({"state":11,syncState:{$ne:2},
catalogType:{$in:['不动产登记证明','中华人民共和国不动产权证书','中华人民共和国不动产权证']}
},{$set:{"syncState":NumberInt(1)}},false,true);
NumberInt(1):设置成整形格式,不然输出的是浮点型1.0
分组查重*
DBQuery.shellBatchSize = 300;
db.getCollection('license').aggregate([
{
$match: {
catalogType: {
$exists: true
},
area_code: {
$nin: ["410000"]
}
}
},
{
$group: {
_id: {catalogType:"$catalogType"},
count: {
$sum: 1
}
}
},
{ $match: { count: { $gt: 1 } } }
]);
match 第一个是搜索条件
group 这个是分组条件(每一个计数为1)
match 这个是判断分组里面数量大于1的