操作 | 函数 | Navicat | MongoTemplate |
---|
查询 | find() | db.car.find() | mongoTemplate.find(new Query(), Car.class); |
查询 | find() | db.car.find({“name”:“小汽车”}) | mongoTemplate.find(new Query(Criteria.where(“name”).is(“小汽车”)), Car.class); |
查询 | find() | db.car.find({},{name : 1,value: 1}) | mongoTemplate.find(new Query(), Car.class); |
查询 | findOne() | db.car.findOne({“name”:“小汽车”}) | mongoTemplate.findOne(new Query(Criteria.where(“name”).is(“小汽车”)), Car.class); |
查询 | find() + $or | db.car.find({$or : [{value : “100000”},{value : “3333”}]}) | mongoTemplate.find(new Query(new Criteria().orOperator(Criteria.where(“value”).is(“100000”),Criteria.where(“value”).is(“3333”))), Car.class); |
查询 | find() + limit+skip | db.car.find({“value”:“3333”}).limit(pageSize).skip(pageSize * (pageIndex - 1)) | mongoTemplate.find(new Query().with(PageRequest.of(1, 10, Sort.by(Sort.Order.desc(“name”)))), Car.class); |
修改 | update() | db.car.update({“value”:“100000”}, { $set : {name : “test”}}) | mongoTemplate.updateMulti(new Query(Criteria.where(“value”).is(“100000”)), new Update().set(“name”, “test”), Car.class); |
删除 | remove() | db.car.remove({ value : “100000”}) | mongoTemplate.remove(new Query(Criteria.where(“value”).is(“100000”)), Car.class); |
计数 | count() | db.car.find({ name: “小汽车”}).count() | mongoTemplate.count(new Query(Criteria.where(“name”).is(“小汽车”)), Car.class); |
db.car.aggregate([
$group : {
_id : "$name",
quantity : { $sum : "$value" }
}
])
Aggregation aggregation = Aggregation.newAggregation(Aggregation.group("name").sum("value").as("quantity"));
AggregationResults<Car> out = mongoTemplate.aggregate(aggregation, "car", Car.class);
List<Car> carList = new ArrayList<>();
for (Iterator<Car> iterator = out.iterator(); iterator.hasNext(); ) {
carList.add(iterator.next());
}
System.out.println(carList);