【问题标题】:Mongoose - How to remove all elements from a unique array?Mongoose - 如何从唯一数组中删除所有元素?
【发布时间】:2018-09-09 14:22:47
【问题描述】:

我的架构中有一个唯一数组:

requests: {
    type: [
      {
        type: Schema.Types.ObjectId,
        ref: "user",
        unique: true,
        required: false
      }
    ],
    validate: [memberLimit, "{PATH} overflow"]
  }

memberLimit 函数:

function memberLimit(val) {
  return val.length <= 6;
}

要从数组中删除所有元素,我尝试过:

team.requests = [];

它正在产生错误:

{ MongoError: E11000 duplicate key error index: heroku_sx6rhpl8.teams.$requests_
1 dup key: { : undefined }
    at Function.MongoError.create (H:\Projects\xyz\node_modules\mongoose\node_
modules\mongodb-core\lib\error.js:45:10)
    at toError (H:\Projects\xyz\node_modules\mongoose\node_modules\mongodb\lib
\utils.js:149:22)
    at H:\Projects\xyz\node_modules\mongoose\node_modules\mongodb\lib\collecti
on.js:1035:39
    at H:\Projects\xyz\node_modules\mongoose\node_modules\mongodb-core\lib\con
nection\pool.js:541:18
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
  name: 'MongoError',
  message: 'E11000 duplicate key error index: heroku_sx6rhpl8.teams.$requests_1
dup key: { : undefined }',
  driver: true,
  index: 0,
  code: 11000,
  errmsg: 'E11000 duplicate key error index: heroku_sx6rhpl8.teams.$requests_1 d
up key: { : undefined }' }

我做错了什么?

【问题讨论】:

    标签: mongodb mongoose mean-stack


    【解决方案1】:

    尝试确认 typeOf teams.requests 是一个数组。如果那是真的,那么请尝试清除数据库中的所有索引并重新运行您的代码。希望有帮助。

    【讨论】:

      猜你喜欢
      • 2018-11-05
      • 2016-12-08
      • 2023-03-10
      • 2018-02-26
      • 2018-03-31
      • 2019-08-31
      • 2017-01-23
      相关资源
      最近更新 更多