У меня есть следующие данные в mongodb:
{
"_id" : ObjectId("111"),
"id" : "111",
"classification" : [
{
"annotator" : "annotatorName1",
"category" : "white"
},
{
"annotator" : "annotatorName2",
"category" : "white"
},
{
"annotator" : "annotatorName3",
"category" : "black"
}
]
}
{
"_id" : ObjectId("222"),
"id" : "222",
"classification" : [
{
"annotator" : "annotatorName1",
"category" : "white"
},
{
"annotator" : "annotatorName2",
"category" : "blue"
},
{
"annotator" : "annotatorName3",
"category" : "black"
}
]
}
{
"_id" : ObjectId("333"),
"kind" : "youtube#video",
"etag" : "tagvalue",
"id" : "333"
}
Обратите внимание, что ярлык classification
существует не во всех моих записях , как показано в записи с идентификатором: "333 ".
Мне нужно получить все записи из моей базы данных, которые имеют разные значения category
.Итак, мне нужен запрос, что при запуске я получу только запись, которая имеет метку classification
и имеет ровно 3 различных значения category
, в данном случае я хочу запросэто мне только вернет:
{
"_id" : ObjectId("222"),
"id" : "222",
"classification" : [
{
"annotator" : "annotatorName1",
"category" : "white"
},
{
"annotator" : "annotatorName2",
"category" : "blue"
},
{
"annotator" : "annotatorName3",
"category" : "black"
}
]
}
Какую команду я должен ввести в своем терминале, чтобы получить все записи, которые имеют 3 уникальных category
значения в classification
, IFF classification
существует?
Спасибо за помощь.