0
我目前正在MongoDB中设计一些东西,我不知道最好的模式是一对多关系。MongoDB一对多,其中很少需要是唯一的
我的用户文档结构是如下:
{
"email": "[email protected]",
"gender": "M",
"name": "Some Name",
"locale": "en_US",
"timezone": "UTC +8",
"country": "China",
"accounts":[
{
"platform_id" : NumberLong(1),
"id" : "556as1234432bb"
},
{
"platform_id" : NumberLong(2),
"id" : "82378437BA98"
},
],
}
我的问题是账目的一部分。每个用户只有很少的人,所以它似乎是嵌入的完美人选。此外,我需要使用这些ID检索整个对象的情况有5%,从这一点我可以使用_id字段。
但是:
- 我需要确保该平台+ id为所有用户
- 当添加我需要一个用户拥有每个平台_id只有一个ID唯一
问题: 我目前不理解索引和查询的组合,这些将帮助我实现这一点。我如何最好地模拟这个?
这是否会在整个系列中独一无二?我如何确保问题的第二部分? –
@JeroendeLau唯一索引将在整个集合中创建索引字段的唯一组合 –
@JeroendeLau此答案不解决第二个要求。但是,这应该在应用程序方面处理。把逻辑放在它所属的地方。 ;) –