如何在Mongodb C#中将IndexOf与Builders过滤器一起使用

问题描述 投票:2回答:1

我正在尝试过滤这样的集合

Builders<myClass>.Filter.Where(d => d.Name.IndexOf(".") > length)

但出现此错误:

System.InvalidOperationException:{文档} {名称} .IndexOf(“。”)不被支持。

实现这一目标的任何方法?

c# mongodb mongodb-.net-driver
1个回答
0
投票

您需要一个可以生成以下聚合管道的linq表达式:

db.collection.aggregate([
    {
        $match: {
            $expr: {
                $gt: [{ $indexOfCP: ['$name', '.'] }, 8]
            }
        }
    }
])

但是不幸的是,c#驱动程序中不存在这种强类型方法。作为处理BsonDocuments的替代方法,请查看this

© www.soinside.com 2019 - 2024. All rights reserved.