由于原数据库使用的是mysql。项目要求,制作查询组件,即,可以根据sql语句,来查询不同内容,从而不需要修改后台代码。
这两天,系统要改造,前端查询改为mongodb数据库。看文档,查询都是采用的属性键值对赋值给BasicDBObject的形式。后来发现,http://cn.docs.mongodb.org/manual/applications/aggregation/ 即聚合应用框架,类似sql语句的查询。
java版本如下:
String ab="{aggregate:\"cms_article\",pipeline:[" +
"{$match:{\"article_id\":{$ne:\"\"}}}," +
"{$sort:{\"article_id\":-1}}," +
"{$skip:2}," +
"{$limit:1 }" +
"]}";
BasicDBObject bdr=(BasicDBObject)JSON.parse(ab);
CommandResult re=mdu.db.command(bdr);//mdu.db为链接好数据库的链接类
System.out.println(re);