MongoDB& Node.js - 将整个模型推送到ref数组和推送id之间的区别

时间:2017-11-23 16:13:07

标签: javascript arrays node.js mongodb

我想知道将模型推送到这样的数组之间有什么区别:

data Rational = Zero | NextRational Rational

和此:

var UserSchema = new mongoose.Schema({
clients: [{type: mongoose.Schema.Types.ObjectId, ref: 'User'}]});

var user = new User();
UserIWillPushInto.clients.push(user);

我在问,因为如果我有一个只有少数属性的模型,我可以将整个模型推入数组中,但是如果我有一个具有很多属性的模型,我会得到奇怪的结果(奇怪的意思有时会起作用,有时会不,我不能在我想要的时候重现它。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

当嵌入式文档大多是唯一的时,使用embedded documents来建模您的关系,当它们太大或经常相同时,使用document reference

好读:https://www.mongodb.com/blog/post/6-rules-of-thumb-for-mongodb-schema-design-part-1