Извлеките значения в виде списка из документа mongodb

#mongodb #collections

Вопрос:

У меня есть следующий документ под названием «empdept_rw», здесь я пытаюсь извлечь значения в виде списка всех доступных документов для определенного ключа. Оператор запроса :

 db.empdept_rw.find({"tremployeeid" : {"$in":db.employee_rw.distinct('tremployeeid')}}, {trDepartmentID : 1, _id :0})
 

Выходной ток:

 { "trDepartmentID" : "1234" }
{ "trDepartmentID" : "1235" }
 

Ожидаемый результат:

 ["1234","1235"]
 

Ответ №1:

Вы можете использовать $group в конвейере агрегирования:

 db.empdept_rw.aggregate([
   { $match: { tremployeeid: { $in: db.employee_rw.distinct('tremployeeid') } } },
   {
      $group: { _id: null, trDepartmentID: { $push: "$trDepartmentID" } }
   }
]).toArray().shift().trDepartmentID