Javascript 如何使用node.js添加到mongoose中的数组
我有如下所示的这种猫鼬模式:Javascript 如何使用node.js添加到mongoose中的数组,javascript,node.js,mongoose,Javascript,Node.js,Mongoose,我有如下所示的这种猫鼬模式: const brandSchema = mongoose.Schema({ brandname: { type: [], require: true, }, frequency: { type: [ {brand1 : []}, {brand2 : []} ], }, date: { type: []
const brandSchema = mongoose.Schema({
brandname: {
type: [],
require: true,
},
frequency: {
type: [
{brand1 : []},
{brand2 : []}
],
},
date: {
type: [],
}
})
我希望能够在to处向其添加两个品牌名称,然后找到品牌名称,然后稍后继续向数组中添加值。有什么方法可以做到这一点吗?您可以在方法中使用运算符。例如:
Model.findOneAndUpdate(
{ "_id": model._id, "projects._id": id },
{$push: {
[`projects.$.path.${version}`]: {path: `${sha256}.${ext}`}
}},
(err, doc) => {
if (err) {
res.status(500).json({status: 'error'});
}
}
);
可以在方法中使用运算符。例如:
Model.findOneAndUpdate(
{ "_id": model._id, "projects._id": id },
{$push: {
[`projects.$.path.${version}`]: {path: `${sha256}.${ext}`}
}},
(err, doc) => {
if (err) {
res.status(500).json({status: 'error'});
}
}
);
你需要澄清你的问题。尤其是最后几句。可能有一些类型您正在指定非类型化数组(它们应该是字符串类型、日期类型、数字还是其他类型?),并且您的模式指定
brandname
具有属性require
,但mongoose文档说它应该是required
。同样对于属性frequency
,我认为这种语法是无效的。您试图为频率指定一个类型
,并为其分配一个包含两个项目的数组,这没有任何意义。也许你不需要告诉我们你的模式是什么,你可以告诉我们你想要完成什么。@RuslanZhomir这是一个typo@Kevin我希望能够在brandname中存储两个名称,我还希望能够找到每个品牌名称,然后将计数(以数字表示)添加到品牌1或品牌2,这样我可以在品牌1和品牌2数组中有多个值。这够清楚吗?你需要澄清你的问题。尤其是最后几句。可能有一些类型您正在指定非类型化数组(它们应该是字符串类型、日期类型、数字还是其他类型?),并且您的模式指定brandname
具有属性require
,但mongoose文档说它应该是required
。同样对于属性frequency
,我认为这种语法是无效的。您试图为频率指定一个类型
,并为其分配一个包含两个项目的数组,这没有任何意义。也许你不需要告诉我们你的模式是什么,你可以告诉我们你想要完成什么。@RuslanZhomir这是一个typo@Kevin我希望能够在brandname中存储两个名称,我还希望能够找到每个品牌名称,然后将计数(以数字表示)添加到品牌1或品牌2,这样我可以在品牌1和品牌2数组中有多个值。这够清楚吗?