我知道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
(在最近的驱动程序中添加)以获得准确的计数。
谢谢你! 在命令行中,count()和count_documents()之间存在差异,所以每件事都很清楚。