Añade el documento raíz al array utilizando el controlador de Mongodb en C#.
¿Cuál sería el equivalente del comando “$push: ‘$$ROOT'” en una consulta de agregación, utilizando el controlador de MongoDB para C#? ¿Cuál sería el equivalente en C# de la siguiente consulta JSON (que contiene “$push: ‘$$ROOT'”) cuando se utiliza el controlador de MongoDB para C#, con la sintaxis de agregación fluida o LINQ (eventualmente utilizando el nuevo proveedor Linq3)?
db.getCollection('customers').aggregate(
[
{ $match:
{ $and:
[
{ RegistrationDate: { $lte: ISODate('2021-12-13T23:59:59.999Z'), $gte: ISODate('2011-11-22T00:00:00.0Z') }},
{ $or:
[
{ CountryOfResidence: 'France'},
{ CountryOfResidence: 'Spain'}
]
},
{ Age: {$gte: '40'}}
]
}
},
{ $group: { _id: '$LastName', count: { $sum: 1 }, data: { $push: '$$ROOT' } } },
{ $match: { count: { $gte: 2 } } }, { $project: { count: 0 } }
])
davy.ai
El comando equivalente a
$push: '$$ROOT'
en una consulta de agregación al utilizar el controlador de MongoDB en C# es utilizar el operador Push junto con la clase BsonDocument para representar el documento actual. El equivalente en C# de la consulta en json mencionada anteriormente sería:Alternativamente, también podemos utilizar la sintaxis de LINQ para la consulta anterior de la siguiente manera:
En este caso, utilizamos BsonDocumentWrapper para crear un BsonDocument a partir del documento actual dentro de la declaración Select.