1

我是 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 );

可能吗?你能帮忙吗?

4

1 回答 1

0

您可以使用服务器端 javascript

db.system.js.save({
     _id : "countUsers" ,
     value : function (){ return db.test.count(); }
});

等等。但保留 _id 作为函数的正常名称,因为稍后您将通过 _id 调用它。然后你做

db.loadServerScripts();

在此之后,您可以执行查询:

countUsers();
于 2013-11-05T19:58:13.533 回答