MongoDB常用查询语句整理

178 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一:删除语句

1、删除表中某个字段

db."集合名称".update({
    "需要删除的字段": {
        "$exists": true
    }
}, {
    "$unset": {
        "需要删除的字段":null
    }
}, {
    multi: true
});

例子:删除user表中address字段:db.getCollection('user').update({},{$unset:{'address':''}},false, true);

二:修改语句

批量更新:

db.getCollection('nat_institution').find({}).forEach(function(document) {
if(document.inst_number != null){
    var num = 'P' + document.inst_number.substr(3, 4);
    print(document.id+ "\t" + num+ "\t" + document.inst_number );
    db.getCollection('nat_institution').update({"id":document.id},{"$set":{"inst_number": num}});
}});
public void batchUpdate(List<InstitutionPopulation> updateEntities) {
        BulkOperations operations = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, InstitutionPopulation.class);
        for (InstitutionPopulation entity : updateEntities) {
            Query query = new Query().addCriteria(Criteria.where(InstitutionPopulation.ID).is(entity.getId()));
            operations.replaceOne(query, entity);
        }
        operations.execute();
    }

三:新增语句

db.COLLECTION_NAME.insert(document)

四:查询语句

1、查询数据:find()

db.getCollection('集合名称').find({})

查询表:user 的全部数据信息:db.getCollection('user').find({});

2、去重查询:distinct

db.getCollection("表名").distinct("字段名"); 
db.getCollection("表名").distinct('字段名',{筛选条件})