他说这样更方便查询,是呀,傻子也知道这样便于查询。我质疑说这样在存储时会不好,但他说有shortId什么的,求解答!
欢迎选择我的课程,让我们一起见证您的进步~~
これには、特定のビジネスの詳細な分析が必要です。 ブランド名が ObjectId に設定されている場合は、そのブランドを格納する別の コレクション があることを意味します。これは典型的なリレーショナル データベースの方法であり、製品のブランド名を取得するたびに、さらに 1 回の読み取り操作が必要になります。 ObjectId 的话,就说明有另外一个 collection 存放着品牌。这么做是典型的关系型数据库的方式,对于 mongodb 来说,每次要获得商品的品牌名,就要多一次读操作。
ObjectId
コレクション
collection
如果设置成 String ,一次操作即可取出全部商品信息和品牌名,但修改品牌的时候却非常麻烦,如果在一次请求中还要获得品牌的一些信息,比如品牌所在的国家,那么还是要再做一次查询,扩展性不够好。
String
如果设置成 Object 比如:
Object
javascript{ item:"", price:100, brand:{ name: "micorsoft", country: "US" } }
javascript
{ item:"", price:100, brand:{ name: "micorsoft", country: "US" } }
这么做可以解决扩展性的问题,而且查询速度也很快,如果商品品牌信息不怎么更新的话,那么我建议这么做。虽然增加了数据冗余程度,但是提高了查询速度,这就是反范式。
如果品牌信息经常更新的话,那么用 ObjectId
これには、特定のビジネスの詳細な分析が必要です。
ブランド名が
ObjectId
に設定されている場合は、そのブランドを格納する別のコレクション
があることを意味します。これは典型的なリレーショナル データベースの方法であり、製品のブランド名を取得するたびに、さらに 1 回の読み取り操作が必要になります。ObjectId
的话,就说明有另外一个collection
存放着品牌。这么做是典型的关系型数据库的方式,对于 mongodb 来说,每次要获得商品的品牌名,就要多一次读操作。如果设置成
String
,一次操作即可取出全部商品信息和品牌名,但修改品牌的时候却非常麻烦,如果在一次请求中还要获得品牌的一些信息,比如品牌所在的国家,那么还是要再做一次查询,扩展性不够好。如果设置成
Object
比如:这么做可以解决扩展性的问题,而且查询速度也很快,如果商品品牌信息不怎么更新的话,那么我建议这么做。虽然增加了数据冗余程度,但是提高了查询速度,这就是反范式。
如果品牌信息经常更新的话,那么用
ObjectId
String
に設定すると、すべての製品情報とブランド名を 1 回の操作で取得できますが、1 回のリクエストでブランドに関する情報も取得する必要がある場合、ブランドを変更するのは非常に面倒です。ブランドの国の所在地などの場合でも、スケーラビリティが十分ではないため、再度クエリを実行する必要があります。 🎜 🎜Object
に設定されている場合 例: 🎜 リーリー 🎜これにより、スケーラビリティの問題が解決され、クエリ速度も非常に速くなります。製品のブランド情報があまり頻繁に更新されない場合には、これをお勧めします。データの冗長性の度合いは高まりますが、クエリの速度は向上します。これはアンチパラダイムです。 🎜 🎜 ブランド情報が頻繁に更新される場合は、クエリが 1 つ増えますが、ObjectId
を使用することをお勧めします。 🎜