Tre*_*tto 5 object populate mongoose mongodb node.js
我正在创建一种对话应用程序,我希望用户能够通过电子邮件和短信从任何地方继续他们的对话。现在我有一个这样的对话模式:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var validator = require('validator');
var ConversationSchema = new Schema({
contact: [
{
type: Schema.Types.ObjectId,
ref: 'Contact'
}
],
conversation: {
}
});
var Conversation = mongoose.model('Conversation', ConversationSchema);
Run Code Online (Sandbox Code Playgroud)
在对话对象中,我希望能够存储一个Email或一个对象。SMS不知道SMS对话对象中有多少个电子邮件或多少个,也不知道它们到达的顺序。当我查询对话并显示它时,我想填充所有的 和Email对象SMS。
如何确保conversation可以容纳不同类型的对象,并且在请求对话时可以填充每个对象?
有更好的方法来实现这一点吗?我可以想象填充每个对象的效率会非常低。
小智 0
对于您的情况,您最好使用数组进行对话,例如:
conversation: {
sms: [],
email: []
}
Run Code Online (Sandbox Code Playgroud)
或者,如果你输入[Schema.Types.Mixed]类型,你将能够在里面保存任何类型的对象。
| 归档时间: |
|
| 查看次数: |
2595 次 |
| 最近记录: |