Возможно ли в mongodb выбрать только документ, содержащий 49 полей?Итак, я выбрал документ, который имел _id: ObjectId("5a4ad9c298767555dde892a2"), а затем имел 49 полей?
_id: ObjectId("5a4ad9c298767555dde892a2")
Вы можете использовать $ objectToArray , чтобы получить все поля объекта $$ROOT в виде массива ключей и значений.Затем вы можете использовать $ size , чтобы получить длину этого массива:
$$ROOT
db.collection.aggregate([ { $addFields: { numberOfFields: { $size: { $objectToArray: "$$ROOT" } } } }, { $match: { numberOfFields: 49 } } ])