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 に答える