π―Match
Filter documents
IMongoCollection<T>.Aggregate()
.Match(FilterDefinition<T> filter)var collection = database
.GetCollection<User>(Constants.UsersCollection);
// creates an aggregate pipeline
var aggregate = collection.Aggregate()
.Match(Builders<User>.Filter.Gte(u => u.Salary, 3500) &
Builders<User>.Filter.Lte(u => u.Salary, 5000));
var highSalaryUsers = await aggregate.ToListAsync();var bsonCollection = database
.GetCollection<BsonDocument>(collectionName);
var bsonAggregate = bsonCollection.Aggregate()
.Match(Builders<BsonDocument>.Filter.Gte("salary", 3500) &
Builders<BsonDocument>.Filter.Lte("salary", 5000));
var bsonHighSalaryUsers = await bsonAggregate.ToListAsync();db.users.aggregate([
{
$match : { $and:
[ { salary: { $gte: 3500 }}, { salary: { $lte: 5000 }} ]
}
}])
----------------------
// sample result
{
"_id" : ObjectId("5e9acfb79d4cc53f6882b690"),
"gender" : 0,
"firstName" : "Dave",
"lastName" : "Hansen",
"userName" : "Dave_Hansen24",
"avatar" : "https://s3.amazonaws.com/uifaces/faces/twitter/hsinyo23/128.jpg",
"email" : "Dave77@yahoo.com",
"dateOfBirth" : ISODate("1985-09-05T11:13:59.678+03:00"),
"address" : {
"street" : "36719 Amalia Unions",
"suite" : "Suite 687",
"city" : "Leannabury",
"state" : "Alabama",
"zipCode" : "04571",
"geo" : {
"lat" : 23.9471,
"lng" : 42.4494
}
},
"phone" : "(717) 904-7910 x8987",
"website" : "caden.info",
"company" : {
"name" : "Prosacco and Sons",
"catchPhrase" : "Automated responsive archive",
"bs" : "morph granular content"
},
"salary" : 4510, // matched here
"monthlyExpenses" : 5994,
"favoriteSports" : [
"MMA",
"Water Polo",
"Basketball",
"Golf",
"Cricket",
"Tennis",
"Volleyball",
"Handball",
"Motor Sport",
"Table Tennis",
"American Football",
"Darts",
"Snooker"
],
"profession" : "Firefighter"
}Match with Project
Last updated