0
我正在开发一个允许用户创建任务的项目,其他用户(服务提供者)可以为他们提供报价,然后让用户决定哪个服务提供者适合他们。Mongodb架构设计任务
这里的服务模式:
var ServiceSchema = new Schema({
address: String,
quotations:[{
service_provider:{type:mongoose.Schema.Types.ObjectId, ref:'User'},
price: Number,
date: Date
}],
customers :[{type:mongoose.Schema.Types.ObjectId, ref:'User', childPath:'services_need'}],
});
,这里是用户模式
var UserSchema = new Schema({
name:String,
password:String,
email:String,
phone:String,
token:String,
services_need:[{type: mongoose.Schema.Types.ObjectId, ref: 'Service'}],
services_provide:[{type: mongoose.Schema.Types.ObjectId, ref: 'Service'}],
});
的问题是,是这里最好的做法?任何其他的设计规则我打破了? 另外,我是否需要保留用户在服务中的参考?
感谢
我的意思是用户需要持有该服务的参考资料吗? –
看起来像您从服务中引用了用户,并引用了来自用户的服务(数组)。没有足够的信息让我告诉你,而我相信你的设计是对还是错。我没有看到你有什么问题。您可以轻松地“填充()”当前设计中的子文档。 – Jared