このコンテキストでの「GridFSオブジェクト」とは、GridFSコレクションに格納されているオブジェクトの名前を意味します。この違いは、おそらく-によって最もよく説明されます。ローカル
mongofilesのマニュアルページのオプション。
ここで考慮する必要があるのは、mongofilesユーティリティを使用して「同じ」ファイル名でアイテムを送信することです。そのユーティリティのマニュアルページに記載されているように、 put
のデフォルトの動作 (コマンド
を参照してください。 )オプションは、ストア内に新しいエントリを作成することです。これは、-replace<でオーバーライドできます。 / code>
オプションを選択すると、既存のコンテンツが検出され、作成した新しいコンテンツで上書きされます。
つまり、ファイルに異なるコンテンツが含まれているかどうかに関係なく、同じ「オブジェクト名」でいくつかのものを作成しました。 mongofilesユーティリティに関する限り、「オブジェクト名」でフェッチする方法しか知らないため、ルールに従って、最初に見つかったものを取得するだけです。
現在、GridFSのほとんどのAPI実装では、実際の get
通常、操作は _id
によって行われます。 。この方法で作成したすべての「オブジェクト」には、独自の _id
があります。 値なので、これを適用すると、必要な「オブジェクト」を取得できます。
一部のAPI実装では、「ファイル名」またはその他のメタデータ情報で検索するために、クエリタイプのメソッドが追加されています。ただし、これらは実際には単なる標準であるため、ほとんどの場合、気になりません。 .find()
または .findOne()
コンテンツのメタデータと参照(デフォルトではfs.files)を保持するコレクションに対する操作。これにより、特定のオブジェクトを「検索」してその _id
を発行するための合理的な方法が提供されます。 get
による値 そのAPIのインターフェース。
したがって、 mongofiles
これは、コマンドラインから基本的なCRUDタイプの操作を実行するための優れたユーティリティであり、単なるユーティリティであり、「実行方法」の主要な実装ではありません。したがって、ユーティリティとして、オブジェクト識別子の「ファイル名」部分を使用して、オブジェクトを設定および取得する「便利な」形式を提供します。
また、注目に値するのは、すべきということです。 実際には、GridFSストアをファイルシステムのように扱い、ファイルシステムで必要とされるのと同じように「ファイル名」を一意に保ちます。
しかし、 mongofiles
については ユーティリティ、「名前」はあなたが情報を取得するために続けなければならないすべてです。そうしないようにするか、選択した言語APIを実際に使用して作業を行ってください。