私は、fastmod が update-in-place のようないくつかの操作を指定していると考えていました。私のアプリでは、「$」修飾子を使用して _id による更新を行っています。次に例を示します。
$colleciton->update(
array('_id' => $id),
array(
'$inc' => array('hits' => new MongoInt32(1)),
'$set' => array(
'times.gen' => gettimeofday(true),
'http.code' => new MongoInt32(200)
)
),
array('safe'=>false,'multiple'=>false,'upsert'=>false)
);
私はそのようなログを持っています:
Wed Jul 25 11:08:36 [conn7002912] update mob.stat_pages query: { _id: BinData } update: { $inc: { hits: 1 }, $set: { times.gen: 1343203715.684896, http.code: 200 } } nscanned:1 nupdated:1 keyUpdates:0 locks(micros) w:342973 342ms
ご覧のとおり、ログには「fastmod」フラグがありません。挿入時に「times.gen」フィールドと「http.code」フィールドを設定したため、「移動」フラグはありません。パディング ファクターは 1.0 です。
私は何か間違ったことをしていますか、それとも fastmod の意味を誤解していますか?