0

ピンボード ( http://www.pinterest.comのようなもの) を作成しています。MongoDB をデータベースとして使用しています (すべてのピンを保存するため)。

Pins {
    userid,
    img,
    title,
    description,
    comments {
        [userid, username, comment]
    }
}

画像を gridFs に保存したい。gridFs ファイルを Pins.img にリンクする方法。画像は 1 つだけである必要がありますが、複数のピンでリンクできます。

私はそれを理解することはできません。

4

1 に答える 1

0

まず、格納されたデータ (単一のイメージ) が mongodb の最大ドキュメント サイズ (バージョン 1.8 以降では 16 MB) を超える場合にのみ GridFS が必要です。

ただし、いずれにしても、2 つのドキュメントが異なるコレクションにある場合は、 mongorefを使用してリンクします。または、画像データを保持しているドキュメントの ID をピン ドキュメントに保存するだけです。

画像データを取得するには、表示する Pins ドキュメントに対してクエリを実行し、結果をループして、画像ドキュメントからすべての画像をクエリする必要があります。

これは、画像を gridfs または通常のドキュメント内の単純なバイナリフィールドに保存する場合に適用されます (php のドキュメントは古く、ドキュメントの最大サイズは 4MB と記載されていますが、現在は 16MB です)。

アップロードした画像を適切な解像度にリサイズして jpeg データとして保存する場合、とにかく 16MB はほとんど必要ありません。

于 2012-07-13T14:03:40.427 に答える