如何使用 C# 在 MongoDb 查找查询中使用多个过滤器
How to use multiple filters in a MongoDb find query using C#
我有这个查询在 datagrip 中运行良好
test> db.getCollection("comments").find({status: {$ne: "APPROVED"},storyID: {$regex: "bbjfn-*"}})
我只是想知道如何使用 MongoDB Driver 2.13.1
在 C# 中实现相同的功能
IMongoDatabase database = MongoClient.GetDatabase(Program.Settings.MongoDB.Database);
IMongoCollection<BsonDocument> collection = database.GetCollection<BsonDocument>("comments");
var filter = Builders<BsonDocument>.Filter.Eq("status", new BsonDocument("$ne", "APPROVED")) &
Builders<BsonDocument>.Filter.Eq("storyID", new BsonDocument("$regex", "bbjfnfn-*"));
var results = await collection.FindAsync(filter);
不起作用..我做错了什么?
您可以使用 BsonDocument
对象设置 filter
,如下所示:
FilterDefinition<Store> filter = new BsonDocument
{
{ "status", new BsonDocument("$ne", "APPROVED") },
{ "storyID", new BsonDocument("$regex", "bbjfn-*") }
};
或
var builder = Builders<BsonDocument>.Filter;
var filter = builder.Ne("status", "APPROVED") & builder.Regex("storyID", "bbjfn-*");
仅供参考,您可以使用 MongoDB 罗盘到 export Query to C# Language。
我有这个查询在 datagrip 中运行良好
test> db.getCollection("comments").find({status: {$ne: "APPROVED"},storyID: {$regex: "bbjfn-*"}})
我只是想知道如何使用 MongoDB Driver 2.13.1
在 C# 中实现相同的功能IMongoDatabase database = MongoClient.GetDatabase(Program.Settings.MongoDB.Database);
IMongoCollection<BsonDocument> collection = database.GetCollection<BsonDocument>("comments");
var filter = Builders<BsonDocument>.Filter.Eq("status", new BsonDocument("$ne", "APPROVED")) &
Builders<BsonDocument>.Filter.Eq("storyID", new BsonDocument("$regex", "bbjfnfn-*"));
var results = await collection.FindAsync(filter);
不起作用..我做错了什么?
您可以使用 BsonDocument
对象设置 filter
,如下所示:
FilterDefinition<Store> filter = new BsonDocument
{
{ "status", new BsonDocument("$ne", "APPROVED") },
{ "storyID", new BsonDocument("$regex", "bbjfn-*") }
};
或
var builder = Builders<BsonDocument>.Filter;
var filter = builder.Ne("status", "APPROVED") & builder.Regex("storyID", "bbjfn-*");
仅供参考,您可以使用 MongoDB 罗盘到 export Query to C# Language。