1
我正在開發一個應用程序Express
,Node
和Mongo
是數據庫。我有一個集合users
,和user
可以有多個registered-IDs
。它就像一個one-to-many
的關係。我米試圖用戶採集像這樣的嵌入document
:表示:在現有文檔中嵌入文檔
post(function (req, res, next) {
var pid=req.body.pid;
var sid=req.body.sid;
var rfname=req.body.rfname;
var des=req.body.des;
var brand=req.body.brand;
var model=req.body.model;
var serial=req.body.serial;
var location=req.body.location;
var arr={pid: 'pid', sid: 'sid', rfname: 'rfname' ,des: 'des', brand: 'brand', model: 'model' ,serial: 'serial', location: 'location'};
mongoose.model('User').findOne({'pemail': req.session.email}, function (err, user){
if(err){
} else {
user.registeredId = arr;
user.save(function(err){
if(err){
} else {
res.render('user/register', {'success': 'dfhlaksdhfh'});
}
})
}
});
}
我的用戶的模式是這樣的:
var mongoose = require('mongoose');
var userSchema = new mongoose.Schema({
email: String,
password: String,
fname: String,
lname: String,
plang: String,
slang: String,
country: String,
state: String,
city: String,
postalcode: String,
address1: String,
address2: String,
pemail: String,
semail: String,
age: String,
gender: String,
pphone: String,
sphone: String,
q1: String,
a1: String,
q2: String,
a2: String,
cfname: String,
clname: String,
cemail: String
});
mongoose.model('User', userSchema);
引導我,我在做什麼錯誤的,因爲它沒有嵌入文檔在現有文件中。我是否需要在架構中定義它,如果是這樣,那麼該怎麼做?
您的架構中沒有定義字段「registeredId」,這就是拒絕賦值的原因。如果你想在模式中定義數組的「一對多」,當然還有'.push()',你也真的想要一個'array'。 –