我正在使用mongoose使用nodejs连接到mongodb来设置新服务器。当我使用model.find()
时,它将返回数据,但不返回mongodb中的默认json类型
User.find({}, (err, docs) => {
if (err) {
res.send({
status: false,
message: err
})
} else if (docs) {
res.json(docs);
} else {
res.send({
status: false
})
}
})
这就是我得到的
{
"_id": "5c25b0dc44eb7569f240e13c",
"username": "",
"idScores": [
"5c1e100a44eb7569f240e118",
"5c1e104744eb7569f240e11a"
]
}
但是我想要这个结果
{
"_id": {
"$oid": "507c35dd8fada716c89d0013"
},
"username": "",
"idScores": [{
"$oid": "5c1e100a44eb7569f240e118"
},
{
"$oid": "5c1e104744eb7569f240e11a"
}
]
}
有人可以帮我吗?
答案 0 :(得分:0)
针对别名ObjectId()-> $ oid的严格MongoDB扩展JSON read more
1)JSON只能表示BSON支持的类型的子集。
2)为了保留类型信息,MongoDB向JSON格式添加了以下扩展名。
3)用于各种数据类型的表示形式取决于解析JSON的上下文。
{"_id": {"$oid":"507c35dd8fada716c89d0013"})
// is same as
{"_id": "507c35dd8fada716c89d0013"}
您不必在每个_id元素中添加“ $ oid”,它只是一种表示法。您可以使用点_id
进行访问