我正在使用C#为.net内的mongodb创建一个非常复杂的查询。为此,我将查询构建为字符串,然后解析它以获取QueryDocument:
var Q = new QueryDocument(BsonDocument.Parse(QueryString))
我的问题是查询的一部分包含正则表达式:
{""Str.tagkw"":{$regex : "" \\b(rasberry|ice cream|sweeties)\\b ""}}
解析后,当我查看查询Q(如上所述)时,$ regex部分已被删除
欢迎任何帮助。
答案 0 :(得分: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
方法似乎更喜欢第二种表示,但这仅仅是它的显示方式。