现在需求是每个用户有一些项目projects
,项目有分类tags
。
按照 mysql 的方法应该是建3张表,一张用户表,一张项目表,一张分类表,然后外键什么的。
如果是 mongo ,是不是一张表就够了?
{
username: '',
u_id: '132342131',
projects: [
{
tags: 'editor',
p_id: ['12312334','123345213','2352321313']
},
{
tags: 'blogs',
p_id: ['12312334','123345213','2352321313']
}
]
}
初学 mongo ,不吝赐教。
あなたの場合は 1 つのテーブルで十分だと思います
mongodb
結局のところ、これはドキュメント データベースであり、保存されるデータは拡張性が高いです。もちろんご希望であれば分割も可能です。あくまでご参考までにテーブルでも良いですが、「p_id」で指定した値を更新する場合の方が恥ずかしい
簡単な答えもあればいいのに。問題は、「データをテーブルに入れる必要があるか」ということですが、これが MongoDB のデータ モデル設計の中で最も難しい部分です。 MongoDB のデータベース設計は SQL とは異なり、第 3 正規形を満たすかどうかが基準となります。 MongoDB の場合、それは一連の「if... then should... but if... then should...」です
これは大きなトピックであり、MongoDB を使用する際に学ぶべき最も重要なことでもあります。研究のための情報を提供してください:
http://blog.mongodb.org/post/...
http://blog.mongodb.org/post/...
http://blog.mongodb.org/post /…
https://docs.mongodb.com/manu…
考慮すべき最も基本的な質問は、このデータ モデルをどのように使用する予定であるかです。モデルがほとんどの使用シナリオで良好なパフォーマンスを発揮する場合、そのモデルは適切な設計であると言えます。