我正在尝试过滤这样的集合
Builders<myClass>.Filter.Where(d => d.Name.IndexOf(".") > length)
但出现此错误:
System.InvalidOperationException:{文档} {名称} .IndexOf(“。”)不被支持。
实现这一目标的任何方法?
您需要一个可以生成以下聚合管道的linq表达式:
db.collection.aggregate([
{
$match: {
$expr: {
$gt: [{ $indexOfCP: ['$name', '.'] }, 8]
}
}
}
])
但是不幸的是,c#驱动程序中不存在这种强类型方法。作为处理BsonDocuments
的替代方法,请查看this。