我一直在研究MongoDb将我的项目迁移到MEAN
技术,我在我的数据库中有两个集合person
,我在其中放置了所有基本信息,如姓名,年龄等,account
在哪里我把信息,如电子邮件,通行证,级别。我需要在这些集合之间建立关系。我所做的是设置account
的_id等于person
'_id。这是对的吗?
人物收藏
{
"_id" : ObjectId("569c39684e23c75303a0fe32"),
"name" : {
"First" : "Daniel Alessandro",
"Last" : "Aguilar Chombo"
},
"area" : 1
}
帐户收集
{
"_id" : ObjectId("569c39684e23c75303a0fe32"),
"email" : "testAccount@live.com",
"password" : "testPassword4218",
"level" : 0
}
答案 0 :(得分:1)
此处可以使用$ref
来构建User
和Account
之间的关系。
以mongoose为例:
var personSchema = Schema({
name : { First: String, Last: String},
area : Number,
account : [{ type: Schema.Types.ObjectId, ref: 'Account' }]
});
var accountSchema = Schema({{
email : String,
password : String,
level : Number
}
答案 1 :(得分:0)
嗯,那将是一个1:1的关系,我会问为什么不在一个集合中拥有数据呢。
然而,您可以简单地将类型ObjectID
的字段(或数组)添加到一个集合中,并存储另一个集合的id_
。它模拟一个经典的外键关系,就像我们从RDBMS中知道的那样。