我正在使用两个集合之间的关系,我有像下面这样的集合模式。
// Room database Entry.
{
"_id" : ObjectId("59b77082f7da4b1b3f64d927"),
"room_id" : "c3wqqkfndg9cnmi",
"room_name" : "bcmvnxbcnvsjkfhkjdh",
"users" : [
{
"_id" : ObjectId("59b77082f7da4b1b3f64d926")
}
],
"__v" : 0
}
//User Database Entry, Related with above Room entry.
{
"_id" : ObjectId("59b77082f7da4b1b3f64d926"),
"user_id" : "dyr1qlrtso47vi",
"__v" : 0
}
当我通过查询房间查找并填充数据时,我发现结果如下。
// Query For Room find and Populate.
room
.findOne({ room_id: result.data.room_id })
.populate("users._id")
.exec(function(err, data){
});
//Result As Follow
{
"_id":"59b77082f7da4b1b3f64d927",
"room_id":"c3wqqkfndg9cnmi",
"room_name":"bcmvnxbcnvsjkfhkjdh",
"__v":0,
"users":[
{
"_id":{
"_id":"59b77082f7da4b1b3f64d926",
"user_id":"dyr1qlrtso47vi",
"__v":0
}
}
]
}
我的要求就像跟随,我不希望_id
作为对象的关键。我需要像users
这样的对象。
"users":[
{
"_id":{
"_id":"59b77082f7da4b1b3f64d926",
"user_id":"dyr1qlrtso47vi",
"__v":0
}
}
]
Should be
"users":[
{
"_id":"59b77082f7da4b1b3f64d926",
"user_id":"dyr1qlrtso47vi",
"__v":0
}
]