MongoDB C# find.count()小于find.ToList().Count()。

我知道Javascript也有类似的问题,但是重新索引,并不能改变什么。

这段代码。

                var col = db.GetCollection<BsonDocument>(collectionName);

                var entries = col.Find<BsonDocument>( new BsonDocument() );
                if(_logger.IsDebugEnabled)
                    _logger.Debug($"got collection: \'{collectionName}\' with {entries.Count()} Entries.");


                var list = entries.ToList();
                if(_logger.IsDebugEnabled)
                    _logger.Debug($"{collectionName}-List has {list.Count()} Entries");

带来了结果。

2020-04-23 16:07:44,935 [1] DEBUG got collection: 'MyCollection' with 3884 Entries.
2020-04-23 16:07:45,184 [1] DEBUG MyCollection-List has 3890 Entries 

在MongoDB的命令行中

> db.MyCollection.count();
3884

有谁知道哪里出了问题,就像一开始写的那样,我已经全心全意地尝试重新索引集合,但没有变化。

我使用的c#驱动程序从nuget的版本:2.10.3服务器的版本是MongoDB 4.0.4。

解决方案:

count 不保证准确,因此已被废弃。请看 文件.

使用 count_documents (在最近的驱动程序中添加)以获得准确的计数。

给TA打赏
共{{data.count}}人
人已打赏
未分类

未使用Invoke-Expression参数

2022-9-8 21:16:36

未分类

在ChartJs.Blazor中发送数据到ChartJsLineChart。

2022-9-8 21:16:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索