将Bson转换为Json对象

时间:2017-05-17 13:06:51

标签: javascript json node.js mongodb bson

Crome开发者工具展示了这个

console.log('DATA ***',data [0] ._ id);

DATA *** Object {_bsontype:“ObjectID”,id:“YIä↵P¨H0”}

如何将其转换为普通的JSON对象?

3 个答案:

答案 0 :(得分:1)

你在寻找的是什么 JSON.stringify()

JSON.stringify(objectToSerialize)

答案 1 :(得分:1)

您需要使用JSON.stringify()然后使用JSON.parse()将bson转换为有效json。

const dataString = JSON.stringify(data[0]);
const parsed = JSON.parse(dataString);

console.log(parsed._id);

其他bson类型可能会在Canonical format中为您提供相关的表示形式。例如,如果您在mongodb中使用了 decimal bsonType,它将如下所示:

...(continuing from code block above)

console.log(parsed.aDecimalNumber); // { $numberDecimal: 1.00 }

答案 2 :(得分:0)

你想在id字段上调用.tostring()函数。

objectId作为以十六进制存储的特殊类型保存,以减小大小。您需要使用toString函数将其转换为24 ascii char字符串

https://github.com/mongodb/js-bson/blob/1.0-branch/lib/bson/objectid.js#L171-L179

console.log('DATA*** ', data[0]._id.toString());