MongoDB 基本使用

  1. 与MySQL类比
MySQL MongoDB
数据库 数据库
集合
文档
记录 字段
  1. 基础操作
//按照条件查询 并按条件排序
db.v1.find({"imei":"7809000247","serverDate": { $gte: "20201112000000" , $lt:"20201112235959"}}).limit(2000).sort({
    "serverDate":1
});

//更新clearType的值为0
db.v1.updateMany(
    {"imei":"7809000247","serverDate": { $gt: "20201112000000" , $lt:"20201112235959"}},
    { $set: { clearType: 0}}
);

//根据条件删除clearType字段,IDEA测试报错。但是navicat测试通过,可以删除!(有{multi:true} 参数才能全部删除,不然只能删除匹配的第一个字段)
db.v1.update({"imei":"7809000247","serverDate": { $gt: "20201112000000" , $lt:"20201112235959"}},{$unset:{"cleanType":""}},{multi:true})
  1. MongoDB批量更新
MongoCollection<org.bson.Document> collection = mongoTemplate.getCollection("集合名");
List<WriteModel<Document>> writes = new ArrayList<>();
writes.add(
        new UpdateOneModel<>(
                new Document("_id", new ObjectId("_ID")),
                new Document("$set", new Document("cleanType", 2))// 更新值
        )
);
writes.add(
        new InsertOneModel<Document>(
                new Document("_id", 5)
                        .append("char", "Taeln")
                        .append("class", "fighter")
                        .append("lvl", 4)
        )
);
writes.add(new DeleteOneModel<Document>(new Document("char", "Brisbane")));
writes.add(
        new ReplaceOneModel<Document>(
                new Document("char", "Meldane"),
                new Document("char", "Tanys")
                        .append("class", "oracle")
                        .append("lvl", 4)
        )
);
BulkWriteResult bulkWriteResult = collection.bulkWrite(writes);
System.out.println(bulkWriteResult.toString());
posted @ 2020-11-17 17:58  那年长安  阅读(75)  评论(0编辑  收藏  举报