小编Gen*_*ena的帖子

在MongoDB中计数不正确

技术:

  • MongoDB 3.0.8(MMAPv1),通过mLab托管在AWS上的非分片专用集群(主要,辅助和仲裁),3.7GB RAM
  • MongoDB 2.3的C#驱动程序
  • 连接字符串:

mongodb的:// USER:PASS@MYMONGO1.com:1234,MYMONGO2.com:1234/DB_NAME replicaSet = REPLICA_SET_NAME

假设

  • 我有一个名为Package的字段集合产品.
  • 有索引:"套餐":1
  • 永远不会删除此集合中的对象.
  • 字段包永远不会更新.
  • 不时插入新对象.

每天一次我记录这个集合的特定计数(每次都有相同的参数):

db.Products({"Package": "Box"}).count()
// actual code running in C#:
productsCollection.Find(p => p.Package == "Box").Count()
Run Code Online (Sandbox Code Playgroud)

我希望每天的结果都相同或更高. 但有时我会得到一个较小的价值.第二天它又变得正确了.它在两种不同的环境中重现.

例:

  • 第1天:4,563,135
  • 第2天:4,563,135
  • 第3天:4,563,124(比预期的少11个)
  • 第4天:4,563,135

我试图通过C#和Mongo直接手动重现它,但是失败了(值总是正确的).

这是怎么回事?

c# linq mongodb mongodb-.net-driver

11
推荐指数
1
解决办法
375
查看次数

标签 统计

c# ×1

linq ×1

mongodb ×1

mongodb-.net-driver ×1