【发布时间】:2014-07-24 08:21:48
【问题描述】:
您好,我正在浏览一个 JSON 数组,该数组是在 mongoDB 中查询文档的结果。 事实是我得到了以下行为,但我不知道为什么会这样:
in key: _bsontype |value: ObjectID
in key: id |value: S÷¯çò9þ w
in key: _bsontype |value: ObjectID
in key: id |value: S÷¯çò9þ h
in key: _bsontype |value: ObjectID
in key: id |value: S÷¯çò9þ h
in key: name |value: Default Process
in key: processType |value: Public
in key: id |value: BPMNDiagram_1
in key: name |value: procurement subprocess
如您所见,这是磨损...这是我的代码:
function changeIDs(json, map, count){
for(var key in json){
if(json.hasOwnProperty(key))
if(typeof json[key] === 'object')
changeIDs(json[key], map, count);
else{
console.log("in key: "+key + " |value: "+json[key]);
}
}
}
这是我输入的一部分(json 参数):
[
{
"_id": "538df78eafe7f28d39fe2077",
"processId": "538df71bafe7f28d39fe2068",
"processMeta": {
"id": "538df71bafe7f28d39fe2068",
"name": "Default Process",
"processType": "Public"
},
"diagram": {
"id": "BPMNDiagram_1",
"name": "procurement subprocess"
},
"plane": {
"id": "BPMNPlane_1",
"bpmnElement": "538df71bafe7f28d39fe2068"
}
},
{other objects..},{other objects..}
]
是的,processId 和 _id 是使用 ObjectId 函数生成的,并且似乎在这里出现问题,我对此不确定,但我的猜测是每个 _bsontype 对应于 mongoSB Object Id,这是一个对象所以我的函数递归地进入这个..得到以下S÷¯çò9þ w..,对吗?
如果我无法在我的 for 中获取“processId”和“_id”键,我想也是我的 _bsontype... 所以最后,我的问题是,我怎样才能在没有得到结果的情况下遍历我的对象?,你必须看到有一个“id”属性包含废话数据,我不希望它在我的结果中寻找例如,所有键 id,但仍然能够获取我的属性“processId”或“_id”的 ObjectId.str 值。
提前致谢。
【问题讨论】:
标签: javascript json node.js mongodb