【发布时间】:2015-06-19 08:58:07
【问题描述】:
我执行以下查询:
{
$query : {
"userId" : 11851, "p2l.listId" : 38882, "isDeleted" : false
},
$orderby: { email: 1},
$skip: 0,
$limit:100
}
通过以下代码:
BsonDocument document = BsonSerializer.Deserialize<BsonDocument>(queryString);
QueryDocument queryDoc = new QueryDocument(document);
var toReturn = collection.Find(queryDoc);
return toReturn.ToList();
我得到以下异常:
[MongoDB.Driver.MongoQueryException] = {"QueryFailure 标志为真(响应为 { \"$err\" : \"Can't canonicalize query: BadValue unknown top level operator: $query\", \"code \" : 17287 })."}
我使用 MongoDb 3.0 和 C# 驱动程序 2.0。
还有其他方法可以执行该查询吗?我需要将它以字符串格式保存在 sql 数据库中,所以我需要对其进行序列化/反序列化。
【问题讨论】:
-
可能是因为您的查询字符串包含未转义的引号?
-
我已将 \" 替换为 " ' " ,但没有帮助
标签: c# mongodb mongodb-.net-driver