猫鼬不能在嵌套数组中设置对象值

时间:2019-02-05 11:22:05

标签: mongodb mongoose

我有一个这样的架构结构:

const projectSchema = new Schema(
{
 ...
 actors: [
  {
   criteria:[
     criteriaName: String,
     criteriaDescription: String
   ]
  }
  ]
 ...
 },
 );

我想更改特定的critiriaDescripion,这就是我尝试过的

  criteria.updateOne(
  {"_id": uid,},
  {$set: {                             
    "projectActors.$[i].actorCriteria.$[j].criteriaDescription": criteriaDescripion
  }},
  {arrayFilters:[{"i._id":actid},{"j._id":cid                         
  }]}, (err) => {
        if (err) {
        return res.send({
        success: false,
        message: err
        });
        }
        else {
        return res.send({
        success: true,
        message: 'Criterion Edited'
        });
        }
   });

但是,我不能更改该值,也不知道为什么。我尝试打印操作输出,结果如下:

  { n: 1,
  nModified: 0,
  opTime:
  { ts:
     Timestamp { _bsontype: 'Timestamp', low_: 8, high_: 1549364596 },
   t: 2 },
   ...}

0 个答案:

没有答案