正则表达式选项"/x"(忽略选项在MongoDB C#驱动程序中不起作用)



我必须在我的应用程序中执行查找/替换功能,我们决定在正则表达式Mongo查询中添加忽略空格选项。所以使用这个代码

 BsonRegularExpression  breg = new BsonRegularExpression (pattern,request.matchCase ? "x" : "xi");

生成这个字符串,然后在mongo {/pattern/xi}

中查询。

但事实证明,为了使用"x"one_answers"s"选项,你必须使用$options: mongoDB的格式下面是mongoDB文档的确切引用

要使用x选项或s选项,必须将$regex操作符表达式与$options操作符一起使用。例如,要指定i和s选项,必须对

都使用$options。

所以现在我不知道如何使MongoDB c#驱动程序产生我想要的查询,或者是否有任何其他工作。

这是我所知道的两种可能性。

var spec = new Document("someName", new MongoRegex("your regex", "x"));
yourCollection.Find(spec)

第二种方法

var collection = GetCollection();
    var filter = Builders<Entity>.Filter.Regex("x", new BsonRegularExpression("your regex, "i"));
    return await collection.Find(filter).FirstOrDefaultAsync();

有关bsonregulareexpression方法的更多信息,请查看http://api.mongodb.com/java/current/org/bson/BsonRegularExpression.html

相关内容

最新更新