OSによってメモリマップされたファイルに関連して、MongoDBでキャッシュがどのように機能するかはよく知っています。しかし、それよりも詳細に興味があります...
たとえば、次の形式のドキュメントが 1 つのコレクションに含まれているとします。
{
_id: ObjectId("..."),
first_name: "x",
last_name: "y",
email: "z"
}
コマンドが実行されると
findOne({_id: ObjectId("...")})
、ドキュメント全体がキャッシュに入れられます。この後、 を実行するfindOne({_id: ObjectId("...")}, {email: 1})
と、キャッシュが使用されますか (この最後のコマンドでは、電子メール フィールドのみに関心があることに注意してください)。を発行した場合
findOne({_id: ObjectId("...")}, {first_name: 1, last_name: 1})
、ドキュメント全体がキャッシュに入れられますか、それとも射影されたフィールドだけですか? つまり、findOne({_id: ObjectId("...")})
前のコマンドの後に実行すると、キャッシュが使用されますか?
ありがとう、
ズラトコ