我是 MongoDB 的新手并尝试了一些基础知识,但这让我感到惊讶。我猜我误解了一些核心概念,但谁能告诉我这里发生了什么?
使用官方 MongoDB C# 驱动器,我已将 10,0000 个这些文档插入到名为“lots”的数据库集合中。
// Insert some test data
const double price = 29.99;
var bsonDoc = new BsonDocument {
{"glossary", new BsonDocument {
{"title", "example glossary"},
{"GlossDiv", new BsonDocument {
{"title", "S"},
{"price", new BsonDouble(price)},
...
/* full doc chunk removed here for brevity */
...
};
...
const int numObjects = 10000;
for (int i = 0; i < numObjects; i++)
col.Insert(new BsonDocument(bsonDoc));
...
我在 shell 中尝试了这个,因为我不相信我在 C# 驱动程序中看到的内容,但结果是一样的;
db.lots.group({key:{"glossary.GlossDiv.title":true}, reduce:function(obj,out){out.total+=obj.glossary.GlossDiv.price;}, 初始值:{total:0 } }) [ { "glossary.GlossDiv.title" : "S", "total" : 299899.99999995757 } ]
如果我错了,请纠正我,但不应该 29.99*10000 == 299900吗?