Bson数组中的字符串列表

Dhe*_*iri 3 .net c# linq mongodb mongodb-.net-driver

我使用的是MongoDb 2.4.9版本.当我尝试将字符串列表转换为Bson数组时,我最终会出现以下错误:

BsonArray bArray = new BsonArray();
foreach (var term in termMonitorIds)
{
    bArray.Add(term.ToBson());
}
Run Code Online (Sandbox Code Playgroud)

'/'应用程序中的服务器错误.

String值无法写入BSON文档的根级别.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.InvalidOperationException:无法将String值写入BSON文档的根级别.

编辑

当我在下面的LINQ查询中使用它时:

entities =
                    (from e in this.collection.AsQueryable<SocialRecord>()
                     where sources.Contains(e.SocialType) && (e.DateCreated >= fr) && (e.DateCreated <= to) && e.TermMonitorIds.Any(X=> bArray.Contains(X)) && e.IsExactMatch == isInstagramExactMatch
                     select e)
                    .Take(5000)
                    .ToList();
Run Code Online (Sandbox Code Playgroud)

结果值不能为空.参数名称:名称.仅当我将bArray添加到查询时才会出现此错误消息.

i3a*_*non 8

你不需要调用ToBson.有已经从一个隐式转换stringBsonValue.使用ToBson实际生成bson,这可能不是你的目标:

BsonArray bArray = new BsonArray();
foreach (var term in termMonitorIds)
{
    bArray.Add(term));
}
Run Code Online (Sandbox Code Playgroud)