我是MongoDB的新手。我的界面中有一个“报告”下拉列表,根据选择的报告执行查询。
另一方面,我有一个“报告”集合,例如:
{
_id : 1,
reportName : "Count users",
queryScript : "db.users.count()"
}, {
_id : 2,
reportName : "Find user names",
queryScript : "db.users.find( {}, { name : true } )"
}, etc
我们必须做类似于这个伪代码的事情:
Report report = db.reports.find({ id : 1 });
String result = mongoClient.execute ( report.getQueryScript );
有可能吗?你可以帮忙吗?
答案 0 :(得分:0)
您可以使用server side javascript:
db.system.js.save({
_id : "countUsers" ,
value : function (){ return db.test.count(); }
});
等等。但是将_id保留为函数的正常名称,因为稍后您将通过_id唤起它。然后你做
db.loadServerScripts();
然后您可以执行查询:
countUsers();