查询语句
MongoDB AND 条件
db.getCollection('microCourse').find({key1:value1, key2:value2})
MongoDB OR 条件
db.getCollection('microCourse').find({
$or: [
{key1: value1}, {key2:value2}
]
})
在mysql里面可以用between…and…或者 >、>=、<、<=来查询指定的时间范围数据,但是mongodb有自己的语法。mongodb里比较,用 “ g t " 、 " gt"、" gt"、"gte”、 “ l t " 、 " lt"、 " lt"、"lte”、 “$ne”(分别对应">"、 “>=” 、"<" 、"<="、"!="),组合起来可以进行范围的查找。
SQL语句
db.getCollection('microCourse').find
({
"creatorType" : 1,
"createDate" : { "$gte" : ISODate("2017-09-01T00:00:00Z"), "$lte" : ISODate("2017-10-01T23:59:59Z"), "$ne" : ISODate("2017-09-01T00:00:00Z")},
})
java语句:
Query query = new Query();
=
query.addCriteria(Criteria.where("creatorType").is(1));
>= <=
query.addCriteria(Criteria.where("createDate").gte(new Date()).lte(new Date()));
!=
query.addCriteria(Criteria.where("createBy").ne(req.getCreators()));
query.addCriteria(Criteria.where("createBy").in(req.getCreators()));
MongoDB 添加/删除字段
SQL语句
db.microCourse.update({}, {$set:{soldOutReason:'',soldOutDescription:''}});
db.microCourse.update({}, {$unset:{soldOutReason:'',soldOutDescription:''}});java语句:
MongoDB 排序
在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。
SQL语句
db.getCollection('microCourse').find({"creatorType" : 1}).sort({"_id":1})
java语句:
query.with(new Sort(Sort.Direction.DESC,"status")).limit(req.getLimit()).skip(req.getOffset());