Агрегатный запрос Mongodb
привет всем, я очень новичок в mongodb и застрял в проблеме.
у меня есть коллекция, как показано ниже
{ "_id" : ObjectId("5881b26f2694efd0ef17eb8b"), "firstName" : "sumit", "lastName" : "vishwakarma", "likes" : [ { "id" : 1, "value" : "java" }, { "id" : 2, "value" : "c++" } ] } { "_id" : ObjectId("5881baf82694efd0ef17eb8c"), "firstName" : "test", "lastName" : "test", "likes" : [ { "id" : 3, "value" : "java" }, { "id" : 2, "value" : "c++" } ] }
я хочу написать запрос, который дает участникам и ищет конкретный идентификатор в лайках, и если этот идентификатор присутствует, то он должен быть true else false.
ниже показано, как должен выглядеть вывод
поиск по номеру:3 лайков
{ "_id" : ObjectId("5881b26f2694efd0ef17eb8b"), "firstName" : "sumit", "lastName" : "vishwakarma", "likes" : [ { "id" : 1, "value" : "java" }, { "id" : 2, "value" : "c++" } ] , "isLiked":false } { "_id" : ObjectId("5881baf82694efd0ef17eb8c"), "firstName" : "test", "lastName" : "test", "likes" : [ { "id" : 3, "value" : "java" }, { "id" : 2, "value" : "c++" } ], "isLiked":true }
любой намек будет оценен по достоинству
Что я уже пробовал:
я попытался написать запрос с использованием агрегации, $elemMatch, но не смог получить желаемый результат
José Amílcar Casimiro
Прочтите это: https://docs.mongodb.com/manual/aggregation/