2012-05-16 101 views
1

我正在玩nodeJS和mongoJS。我已經成功地查詢數據庫,並返回一組數據:mongoJS解析JSON輸出

var databaseUrl = "redirect"; // "username:[email protected]/mydb" 
    var collections = ["things", "reports"] 
    var db = require("mongojs").connect(databaseUrl, collections); 

    db.things.find({url: "google.com"}, function(err, things) { 
     if(err || !things) { 
      console.log("URL not Found"); 
     } 
     else things.forEach(function(RedirectURL) { 
      console.log(RedirectURL); 
     }); 
    }); 

這將返回此:

{ _id: 4fb2c304f2dc05fe12e8c428, 
    url: 'google.com', 
    redirect: 
    [ { url: 'www.goolge.com', weight: 10 }, 
    { url: 'www.google.co.uk', weight: 20 } ] } 

我現在需要做的是陣列的選擇某些元素如redirect.weight或redirect.url。

mongoJS是否允許我輕鬆地做到這一點,或者有更好的方法嗎?

任何指針都非常讚賞!

Ric

回答

1

MongoJS實現了mongo API。對文檔內容的調用使用點符號。

因此,在上面的例子中,

var weight = RedirectURL.redirect.0.weight 

//等於10,因爲它是重定向數組的第一項。

查找命令可以使用相同的原理。所以,如果你想找到重量= 10的文件,請使用以下命令:

db.things.find({redirect.weight: 10}) 
+0

感謝almypal,像你這樣的人是我愛這個網站的原因! –