2

node.jsを使用してMongoDBからjsonの結果を提供しようとしています。

var http = require('http');
var mongo = require('mongoskin');

http.createServer(function (req, res) {
  var args = req.url.split("/");
  console.log(args);
  var searchCollection = args[1];
  var searchVar = args[2];
  var searchString = args[3];
  var conn = mongo.db('user:pass@alex.mongohq.com:10039/name',{safe:true});
  conn.collection(searchCollection).find({searchVar:searchString}).toArray(function(err, items){
    if(err) throw err;
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end(JSON.stringify(items));
  });
}).listen(process.env.PORT, process.env.IP);

私が抱えている問題は、データベースでfind関数を呼び出すときです:-

  • 変数'searchVar'を持つドキュメントを検索します
  • searchVarの値で変数を検索するのではなく

どんな助けでもいただければ幸いです。ありがとう!

4

1 に答える 1

1

次のようなクエリ オブジェクトを作成する必要があります。

var query = {};
query[searchVar] = searchString;

そして、これをクエリに渡します。

  conn.collection(searchCollection).find(query).toArray(function(err, items){
    if(err) throw err;
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end(JSON.stringify(items));
  });
于 2012-11-22T16:04:25.367 に答える