Sails mongo unique: атрибут false не работает - PullRequest
0 голосов
/ 24 апреля 2018

Я хотел бы обновить значение несколько раз, используя паруса js и mongodb. Однако, когда я пытаюсь обновить значение тем же значением, которое существовало ранее, оно выдает ошибку, даже если я установил unique: 'false':

"code": "E_VALIDATION",
    "invalidAttributes": {
        "order_index": [
            {
                "rule": "unique",
                "value": 1,
                "message": "A record with that `order_index` already exists (`1`)."
            }
        ]
    },
    "originalError": {
        "name": "MongoError",
        "message": "E11000 duplicate key error collection: Brand_Compass.manufacturer_tabs index: order_index_1 dup key: { : 1 }",
        "driver": true,
        "index": 0,
        "code": 11000,
        "errmsg": "E11000 duplicate key error collection: Brand_Compass.manufacturer_tabs index: order_index_1 dup key: { : 1 }"
    },

Ниже приведен выбор данных JSON с использованием метода запроса get:

[
    {
        "order_index": 0,
        "tab_name": "tab 1",
        "createdAt": "2018-04-24T11:27:26.112Z",
        "updatedAt": "2018-04-24T11:27:26.225Z",
        "manufacturers": "5acf62cf080d700c2209d40b",
        "id": "5adf149e366e1a0e4085a4f1"
    },
    {
        "order_index": 1,
        "tab_name": "tab 2",
        "createdAt": "2018-04-24T11:27:31.043Z",
        "updatedAt": "2018-04-24T11:27:31.048Z",
        "manufacturers": "5acf62cf080d700c2209d40b",
        "id": "5adf14a3366e1a0e4085a4f2"
    }
]

Модель паруса:

module.exports = {
  attributes: {
    order_index: {
      type: 'integer',
      unique: 'false'
    },
    tab_name: {
      type: 'string'
    },
    manufacturer_fields: {
      model: 'manufacturer_fields'
    },
    manufacturers: {
      model: 'manufacturers'
    }
  }
};

1 Ответ

0 голосов
/ 25 апреля 2018

Я изменил тип order_index с string на array. Это решило проблему.

...