8
A
答えて
16
mongo配列のオブジェクトのプロパティとして_idを追加したいとします。
は、私が想定しています。この質問のための構造の
{
g: [
{ _id: ObjectId(), property: '' },
// next
]
}
タイプ。
これは良い方法ですか?
通常ではありません。 _id
はエンティティの一意の識別子です。したがって、副文書オブジェクト内に_id
を追加する場合は、データを正常に正規化していない可能性があり、スキーマ設計内に根本的な欠陥がある可能性があります。
サブ文書は、その文書の繰り返しデータ、つまり住所やユーザーなどを含むように設計されています。
これは、_id
と言っているが、必ずしも悪いことではありません。私がアドレスで述べた例を考えてみましょう。あなたがショッピングカートシステムを持っていて、何らかの理由で注文書にアドレスを複製しなかったとしたら、サブ文書を取り出すために_id
または他の識別子を使用するとします。
また、ドキュメントをリンクすることも考慮する必要があります。その_id
が別のドキュメントを記述していて、プロパティがそのリンクされたドキュメントに関連するそのドキュメントのカスタム属性である場合は、それも問題ありません。
インデックス作成に問題はありますか?それは、より小さく、よりユニークなIDを超える考慮すべき何かがあるかどうか、サブ文書のためにすべての
_id
を使用して
ObjectId
はまだかなりかなり大きいです。
インデックスの場合、実際には文書の標準_id
フィールドとは異なる動作をしません。フィールド全体の一意のインデックスはコレクション全体で機能するはずです(シナリオに依存し、クエリをテストします)。
NB:MongoDBはサブ文書に_id
を追加しません。
関連する問題
- 1. Agregagate Mongoのサブ文書
- 2. mongoのサブ文書番号
- 3. サブ文書の配列に属するサブ文書からプル
- 4. Mongoのサブ文書/リストのサブ文書を照会
- 5. Mongo Java Driver - サブ文書を配列要素に更新する方法
- 6. サブ文書配列項目の_idプロパティの作成を停止する
- 7. 文書の配列内のサブ文書のフィールド順ですか?
- 8. サブ文書配列とユーザー定義配列の交点?
- 9. WHERE句Azure CosmosDB Mongoサブ文書
- 10. mongoでサブ文書を検索する
- 11. サブ文書を更新し、サブ文書内の配列の単一のオブジェクトを削除する方法?
- 12. のMongoDB:値は、特定のサブ文書の配列
- 13. Meteor/Mongodb - 配列、サブ文書、重複サブスクリプション
- 14. MongoDBサブ文書の配列を自身のコレクションに移動
- 15. のMongoDB:サブ文書の更新配列は、文書の削除
- 16. mongooseでMongoからサブ文書を削除します。
- 17. 配列内のサブ文書を更新したい
- 18. mongo Nodejsサブ文書のソート順を設定する
- 19. フィールドごとにサブ文書の配列を取得します。
- 20. mongodbで配列内のサブ文書を検索
- 21. Mongoose配列のサブ文書を作成する
- 22. Spark Scala flatmap with bson document Mongoからのサブ文書付き
- 23. mongoose 4.7.5:サブ文書を配列にフェッチする方法
- 24. 配列フィールドでサブ文書を並べ替える方法は?
- 25. ネストされた配列のサブ文書のクエリを再開
- 26. 各サブ文書の配列に特定のキーワードが含まれている配列内のサブ文書を見つける方法を見つける方法?
- 27. サブ文書配列に文書を追加する方法 - Java/MongoDB
- 28. JSONサブ配列から_idを削除するmongoose結果
- 29. MongoDBサブ文書からサブ文書を削除する
- 30. MongoDBのサブ文書配列に重複するフィールドを見つける方法
質問は少し曖昧です。もう少し詳細を教えていただけますか? – Eric
http://stackoverflow.com/questions/8245538/mongodb-id-cannot-be-an-array – 42n4
私はこのリンクがこの質問と関係がないとは思わない。 – Sammaye