Crome开发者工具展示了这个
console.log('DATA ***',data [0] ._ id);
DATA *** Object {_bsontype:“ObjectID”,id:“YIä↵P¨H0”}
如何将其转换为普通的JSON对象?
答案 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());