从动态mongodb嵌入对象node.js获取数据

时间:2014-09-18 14:40:54

标签: javascript json node.js mongodb

我有一个mongoDB结构,如下所示:

values : { [
oneValue : {
     number: '20'
     unit: 'g'
}
differentValue : {
    number : '30'
    unit : 'g'
}
]}

我正在使用节点js这就是我所做的:

doc.values.forEach(function(err, idx) {

var object = doc.values[idx];
}

最终发生的事情是我可以得到一个看起来像这样的对象:

object = oneValue : {
     number: '20'
     unit: 'g'
}

但节点不会将其识别为JSON,因为当我尝试执行JSON.parse(object)时,它并不知道如何处理它。

我希望能够动态地进入数字字段。所以我不想说doc.values [idx] .oneValue,因为这是假装的情况,在实际情况中,oneValue可能是1000种不同的东西之一。有谁知道我怎么能访问'号码'具有这种结构的领域?

1 个答案:

答案 0 :(得分:0)

想通了......

var object = docs.values[idx]

这样做:

var objAsJson = JSON.stringify(object);
JSON.parse(objAsJson, function(k, v) {
console.log(k + "  " + v);
});

这将打印出嵌入对象中的所有数据,您不必知道名称。