gx
chenyc
2025-02-12 ea42ff3ebee1eeb3fb29423aa848a249441db81c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
/*!
 * Module dependencies.
 */
 
'use strict';
 
const MongooseError = require('./');
 
class DivergentArrayError extends MongooseError {
  /*!
   * DivergentArrayError constructor.
   * @param {Array<String>} paths
   */
  constructor(paths) {
    const msg = 'For your own good, using `document.save()` to update an array '
            + 'which was selected using an $elemMatch projection OR '
            + 'populated using skip, limit, query conditions, or exclusion of '
            + 'the _id field when the operation results in a $pop or $set of '
            + 'the entire array is not supported. The following '
            + 'path(s) would have been modified unsafely:\n'
            + '  ' + paths.join('\n  ') + '\n'
            + 'Use Model.update() to update these arrays instead.';
    // TODO write up a docs page (FAQ) and link to it
    super(msg);
  }
}
 
Object.defineProperty(DivergentArrayError.prototype, 'name', {
  value: 'DivergentArrayError'
});
 
/*!
 * exports
 */
 
module.exports = DivergentArrayError;