2012-11-22 48 views
2

我想使用node.js從MongoDB提供json結果。當一切都變化時搜索MongoDB

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:[email protected]: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); 

我遇到的問題是,當我調用數據庫它的查找功能: -

  • 搜索具有可變文檔「searchVar」
  • ,而不是尋找一個變量與價值的搜索變量

任何幫助,將不勝感激。謝謝!

回答

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)); 
    }); 
+0

非常感謝。現在完美運作。 – adwilk