Arrays 如何使用$push(Mongoose)推送阵列中的多个对象
将多个对象推入一个数组时遇到很多问题 我尝试了这段代码的几种不同变体,要么直接将对象推送到db,要么只推数组的最后一个对象 下面是我目前正在尝试的代码,它可以工作,但只推送最后一个对象(在本例中是星期三) 我试过了Arrays 如何使用$push(Mongoose)推送阵列中的多个对象,arrays,mongoose,mongoose-schema,Arrays,Mongoose,Mongoose Schema,将多个对象推入一个数组时遇到很多问题 我尝试了这段代码的几种不同变体,要么直接将对象推送到db,要么只推数组的最后一个对象 下面是我目前正在尝试的代码,它可以工作,但只推送最后一个对象(在本例中是星期三) 我试过了 collection.findOneAndUpdate( { name: 'yyy' }, { $push: { schedule: monday, tuesday, wednesday}} 它只是把星期二和星期三推到了最重要的位置,而不是把它们放在日程表上 这是我用于计
collection.findOneAndUpdate(
{ name: 'yyy' },
{ $push: { schedule: monday, tuesday, wednesday}}
它只是把星期二和星期三推到了最重要的位置,而不是把它们放在日程表上
这是我用于计划的模式
schedule: [
{
day: { type: String, default: ""},
closed: { type: Boolean, default: false },
start: { type: Number, default: 0},
startap: { type: String, default: "AM"},
end: { type: Number, default: 0},
endap: { type: String, default: "PM"}
}
]
下面是我想推送到日程安排数组的日期变量的示例
var monday = {
day:"Monday",
closed: false,
start:"700",
startap:"AM",
end:"1900",
endap:"PM"
};
显然,我可以运行fine并更新代码7次,但我觉得有一种更有效的方法。您可以使用$push
和$each
。
例如:
您可以将$push
与$each
一起使用。
例如:
var monday = {
day:"Monday",
closed: false,
start:"700",
startap:"AM",
end:"1900",
endap:"PM"
};
collection.findOneAndUpdate(
{ name: 'yyy' },
{ $push: { schedule: {$each: [monday, tuesday, wednesday]}}}...