3

私は非常に大きなWebアプリケーションを持っています。アプリケーションは複数のモジュールに分割されています。各モジュールは、Mongodb データベースに複数のコレクションを作成できます。

各モジュールはコレクションを作成できるため、それらの間で衝突が発生する可能性があるため、現在、コレクションをエレガントな方法で「名前空間」にしようとしています。

これが私がやりたいことの例です:

Module1 は次のコレクションを作成します。

module1.items
module1.employees

Module2 は次のコレクションを作成します。

module2.items // Avoid collision with module1
module2.animals

これは私が避けたいものの例です:

Module1 は次のコレクションを作成します。

module1items
module1employees

Module2 は次のコレクションを作成します。

module2items // Avoid collision with module1
module2animals

「。」を使用するのは悪い習慣なのだろうか。コレクション名に。通常、「。」データベース名をコレクション名から分割するために使用されるdb.mydatabase.mycollectionため、「。」を使用すると発生する可能性のあるバグが心配です。コレクション名に名前を付けるメソッド。

[編集]

これは、mongodb Web サイトで見つけた引用です。

acme.users名前空間の例では、 acmeはデータベース名で、usersはコレクション名です。コレクション名にピリオド文字を使用できるため、acme.user.historyは有効な名前空間であり、acmeがデータベース名で、user.historyがコレクション名です。 参照

Stephane Godbillon の回答(gridFS について言及) にそれを追加すると、その命名規則を使用することについて非常に安全だと感じました。今、私が使用しているODM(マングース)が問題を引き起こさないことを願っています:)。

4

1 に答える 1

4

はい、問題なく実行できます。実際、GridFS でさえ、このように名前が付けられたコレクション (fs.filesおよびfs.chunks) で動作します。

于 2013-05-15T14:50:04.560 に答える