【发布时间】:2011-01-15 04:23:06
【问题描述】:
我对 mongoDB 有疑问。 目前我正在使用 Ruby mongodb 驱动程序,并且正在发生一些奇怪的事情:
我需要在 capped 集合中插入 20 个文档,但是当我编写以下代码时,它只插入了 3 个文档,我无法了解发生了什么:
coll = db.create_collection("test",:capped => true, :max=>20)
1024.times{@pad_string +=" "}
20.times{coll.insert({
:HostName => @hostname,
:CommandLine => @cmdline,
:Pid => "1111",
:BlockName => @blockname,
:ExitCode => 0,
:StartTime => Time.now,
:EndTime => Time.utc(2000,"jan",1,00,00,00),
:StdErr => @pad_string,
:Stdout => @pad_string}
)}
其实重点是我插入@pad_string 1024 预分配的空间。一旦我在插入 1024.times{@pad_string +=" "} 之前这样做,它最多只插入 3 个文档。
【问题讨论】: