Node.js 在mongoose中创建数组元素
这是我的模式Node.js 在mongoose中创建数组元素,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,这是我的模式 team_year: String, team: [{ _leader: String, _member:[{ _name: String, _phone: String, _age: Number, _gender: String, _comment:[{ _date: String, _contents: String,
team_year: String,
team: [{
_leader: String,
_member:[{
_name: String,
_phone: String,
_age: Number,
_gender: String,
_comment:[{
_date: String,
_contents: String,
_attendance: Boolean
}]
}]
}]
我有数据
{ team_year: 2015
team: [
{
_leader: tom
_member: [
{_name: mike,
_phone: 2222
]
},
{
_leader:jack,
_member: []
}
]
}
我想注册杰克的一名队员
team_schema.findOneAndUpdate(
{team_year: '2015', 'team._leader' : 'jack'},
{$push: {
'team._member': req.body
}
},
function(err, post){
if (err) next(err);
res.end("success");
});
但它不起作用。
请帮帮我
我用
Node.js+express+MongoDB
我的英语不好。T^T您需要指定要为其插入对象(嵌套数组)的对象的索引。为此,可以使用MongoDB提供的位置运算符(“$”)。有关更多信息,请参阅 因此,这个查询应该可以工作:
team_schema.findOneAndUpdate(
{team_year: '2015', 'team._leader' : 'jack'},
{$push: {
'team.$._member': req.body //The $ symbol resolves to an index from the query
}
},
function(err, post){
if (err) next(err);
res.end("success");
});
ranch.r_会员是什么?我在这里的schemaSee中找不到一个好答案: