Предположим, у нас есть что-то вроде следующего документа, но мы хотим вернуть только поля, содержащие числовую информацию:
{
"_id" : ObjectId("52fac254f40ff600c10e56d4"),
"name" : "Mikey",
"list" : [ 1, 2, 3, 4, 5 ],
"people" : [ "Fred", "Barney", "Wilma", "Betty" ],
"status" : false,
"created" : ISODate("2014-02-12T00:37:40.534Z"),
"views" : 5
}
Теперь я знаю, что мы можем запрашивать поля, соответствующие определенному типу, используя Оператор $ type. Но я еще не нашел способ $ проецировать это как значение поля. Итак, если мы посмотрим на документ в «развернутом» виде, вы увидите следующее:
{
"_id" : ObjectId("52fac254f40ff600c10e56d4"),
"name" : 2,
"list" : 16,
"people" : 2
"status" : 8,
"created" : 9,
"views" : 16
}
Конечная цель - перечислить только те поля, которые соответствуют определенному типу, скажем, сравнить, чтобы получить числовые типы и отфильтровать поля после долгой обработки документа, чтобы получить следующий результат:
{
"_id" : ObjectId("52fac254f40ff600c10e56d4"),
"list" : [ 1, 2, 3, 4, 5 ],
"views" : 5
}
Есть ли у кого-нибудь подход, чтобы справиться с этим.