0

我正在使用 C# 在 .net 中为 mongodb 创建一个相当复杂的查询。为此,我将查询构建为字符串,然后对其进行解析以获取 QueryDocument:

var Q = new QueryDocument(BsonDocument.Parse(QueryString))

我的问题是查询的一部分包含一个正则表达式:

{""Str.tagkw"":{$regex : "" \\b(rasberry|ice cream|sweeties)\\b ""}}

解析 $regex 部分后,当我查看查询 Q 时已删除(如上)

欢迎任何帮助。

4

1 回答 1

1

您的代码似乎对我有用:

string queryString = @"{""Str.tagkw"":{$regex : "" \\b(rasberry|ice cream|sweeties)\\b ""}}";
var Q = new QueryDocument(BsonDocument.Parse(queryString));

当您在 Visual Studio 等 IDE 中查看此内容时,它将显示为

{ "Str.tagkw" : / \b(rasberry|ice cream|sweeties)\b / }

这就是 Javascript 表示:在 Javascript 中,您可以使用以下任一方法创建正则表达式

var regex = new RegExp("(foo|bar)");

或者,作为语法糖

var regex = /(foo|bar)/;

ToString调试器将使用的方法似乎更喜欢第二种表示,但这只是它如何显示的问题。

于 2013-09-16T18:02:51.380 回答