У меня есть две коллекции, а именно «Notification» и «NotificationData» в одной базе данных в MongoDb. Я пытаюсь объединить две коллекции и получить необходимую информацию из двух коллекций.
var query = notificationDataCollection.AsQueryable().Join(
notificationCollection.AsQueryable(),
p => p.Id,
q => q.NotificationDataId,
(p, q) => new
{
ActorId = p.ActorId
});
Драйвер изменил результаты следующим образом:
{aggregate([{ "$lookup" : { "from" : "Notification", "localField" : "_id", "foreignField" : "NotificationDataId", "as" : "q" } },
{ "$unwind" : "$q" },
{ "$project" : { "ActorId" : "$ActorId", "_id" : 0 } }])}
Я получаю пустой массив даже если существует запись, соответствующая заданным критериям
Например: данные в понедельник go сохраняются
Уведомление
{"_id":{"$oid":"5e6b9564aece6902bcb0cd20"},
"NotificationDataId":"5e6b9563aece6902bcb0cd1f",
"NotifierId":"175ff977-c62a-45f4-9539-eb916c52db52",
"NotifierName":null,
"Status":{"$numberInt":"1"}}
NotificationData
{"_id":{"$oid":"5e6b9563aece6902bcb0cd1f"},
"Entity":{"_t":"ProductQuoteRequest","UserId":null,"BuyerId":"eb30dfce-a2a3-49ef-8f86-eda48c636f1b",
"SellerId":"175ff977-c62a-45f4-9539-eb916c52db52",
"Subject":"string","Message":"Hey"},
"EntityType":"TraderZ.ProductQuoteRequest",
"ActorId":"eb30dfce-a2a3-49ef-8f86-eda48c636f1b",
"CreatedOn":{"$date":{"$numberLong":"1584108899661"}},
"Status":{"$numberInt":"1"}}