Метод поиска в MongoDb с использованием Linq, возвращающий пустой массив - PullRequest
0 голосов
/ 16 марта 2020

У меня есть две коллекции, а именно «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"}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...