Mongoose заполнить ключ данных удалить в полученных данных

Я использую связь между двумя коллекциями, и у меня есть схема коллекции, как показано ниже.

// 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
         }
     ]

person Gunjan Patel    schedule 12.09.2017    source источник
comment
попробуйте использовать проект и example   -  person HariHaraSudhan    schedule 12.09.2017
comment
Приятель, я использую populate для связи между двумя коллекциями.   -  person Gunjan Patel    schedule 12.09.2017
comment
Тем не менее вам действительно следует использовать $lookup там, где это возможно, а также понимать, почему вы должны использовать его вместо этого. Население - это далеко не одно и то же. Хотя вы можете изменить структуру документа после возврата, настоящая проблема здесь в том, что ваша структура изначально была неправильной. Данные комнаты должны иметь массив users как "users" : [ObjectId("59b77082f7da4b1b3f64d926")]. И для этого схема должна быть "users": [{ type: Schema.Types.ObjectId, ref: 'User' }]. Внутренний _id - ошибка   -  person Neil Lunn    schedule 12.09.2017