【发布时间】:2018-04-12 17:25:19
【问题描述】:
我想推送数组的元素来创建子文档,
我的架构
var chatGroup = new Schema({
name : {
type : String,
default : null
},
members: {
type : [subSchemaForMember]
},
}, { 集合:'chatGroup' });
var subSchemaForMember = new Schema({
user_id : {type : Schema.Types.ObjectId , ref : 'user'}},{_id : false});
我保存文档的查询是
var chatGroup = new ChatGroup({
name : req.body.name,
image : req.body.image,
created_by : req.body.celebrity_id,
$pushAll : {'members' : req.body.members}
})
req.body.memebers = ['someid','someid','someid']
请帮助我想在没有任何循环的情况下做到这一点
【问题讨论】:
-
subSchemaForMembers只是一个字符串吗?至少当你说req.body.members = ['someId', 'someId', 'someId']时,这就是你所代表的? -
也就是说,是
members: { type: [String] }吗? -
members : [{ user_id : {type : Schema.Types.ObjectId , ref : 'user'} ,}] 就像这个子文档