mongoJS解析JSON输出

时间:2012-05-16 12:49:14

标签: node.js mongodb mongojs

我正在玩nodeJS和mongoJS。我已成功查询数据库并返回了一组数据:

    var databaseUrl = "redirect"; // "username:password@example.com/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允许我轻松地做到这一点还是有更好的方法?

任何指针都非常受欢迎!

里克

1 个答案:

答案 0 :(得分:1)

MongoJS实现了mongo API。对文档内容的调用使用点符号。

所以在上面的例子中,

  var weight = RedirectURL.redirect.0.weight

//等于10,因为它是重定向数组的第一项。

相同的原理可以与find命令一起使用。因此,如果您希望找到权重= 10的文档,请使用以下命令

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