как получить информацию о родителях как ребенок в mongodb - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть две разные коллекции на основе одного идентификатора коллекции для другого task_id. Я получаю оба результата хорошо, но хочу, чтобы родительская информация была дочерней, а дочерняя - родительской. Хорошо преобразовали дочернюю информацию в родительскую, используя $ replace Root, но не получая родительскую информацию как дочернюю.

Информация БД выглядит так: -

collectionA -

{
    "_id" : ObjectId("5e537ae04c48b729ac9d4137"),
    "oprtId" : "5e537ae04c48b729ac9d4136",
    "ato_id" : "5e14271edff9960a75bb3e25",
    "remarks" : "",
    "status" : "Open",
    "created_at" : ISODate("2020-02-24T07:27:28.355Z")
}

collectionB -

{
    "_id" : ObjectId("5e537ae04c48b729ac9d4136"),
    "userId" : "5df88264238ccf4dc1864a2d",
    "title" : "test",
    "description" : "my test",
    "purpose" : "testing",
    "action_taken" : "Fri Feb 27 2020 1:00:00 GMT+0530 (India Standard Time)",
    "status" : [ 
        "Open"
    ],
    "created_at" : ISODate("2020-02-24T07:27:28.000Z")
}

--------- Запрос ---------

db.getCollection("collectionA").aggregate([
          {$match:{ato_id: "5e14271edff9960a75bb3e25", }},
          { "$addFields": { "optId": { "$toObjectId": "$oprtId" }}},

           { $lookup :{
               from: "collectionB",
               localField: "optId",
               foreignField: "_id",
               as : "tempC"
              }
            },

          {$unwind: '$tempC'},
          { $replaceRoot: { newRoot: "$tempC" } },
          {$project : {
            _id : 1,
            userId : 1,
            "assind":"collectionA information" // This information i need to get.  

          },
        },

      ]).toArray()

Надеюсь получить его решено.

Спасибо.

...