我試圖嵌入一個子文檔到我的主要文件,就像這樣:個人嵌套子文檔貓鼬
這是主要的document.js
var mongoose = require('../../db/mongodb.connector'),
Schema = mongoose.Schema;
require('./document.model');
var Document= mongoose.model('Document');
require('./alert.model');
var Alert = mongoose.model('Alert');
var userSchema = new Schema({
name: { type: String }
created: { type: Date, default: Date.now()},
alerts: {type: Schema.ObjectId,ref: 'Alert'},
documents: [{type: Schema.ObjectId,ref: 'Document'}],
});
module.exports = mongoose.model('User', userSchema);
這是嵌入document.js
var mongoose = require('../../db/mongodb.connector'),
Schema = mongoose.Schema;
var alertsSchema = new Schema({
push: {type: String, default: "true"},
email: {type: String, default: "false"},
sms: {type: String, default: "false"}
});
module.exports = mongoose.model('Alert', alertsSchema);
當我添加一個新用戶的文件是這樣的:
exports.insertUser = function (userData, res) {
var user = new User({
name: userData.name,
alerts: {push: "true", email:"false", sms: "false"}
});
user.save...
...
點
返回的數據是這樣的:
{ name: 'name',
documents: [],
created: 2017-04-14T10:22:05.612Z
}
的問題是,我不知道如果我做正確的嵌入文檔的sintax由於插入不返回任何錯誤,但警報對象沒有按」 t出現在插入的新文檔中。
會出現什麼問題?
但我想將完整的對象嵌入到主文檔中,而不是它們的參考。在主模型中使用ref的原因是爲了清除代碼。將單獨文檔的模式導入主文檔的正確方法是什麼? – Hanzo
我已經更新了答案。 – Anand
有什麼辦法維護其他文件中的警報模式,然後導入到userschema文件中? – Hanzo