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数组中有多个值。这够清楚吗?