Можно ли хранить в Redux только что созданный объект, размещенный в MongoDB, и иметь доступ к его ObjectId без выполнения запроса GET? - PullRequest
0 голосов
/ 07 апреля 2019

У меня есть магазин, созданный с помощью Redux, который локально хранит массив объектов.Кроме того, этот массив хранится в базе данных Монго.

Поскольку мое приложение может не иметь доступа к Интернету в любой момент, когда я добавляю один объект в массив, я помещаю его в mongo, и, поскольку он асинхронный, он будет работать только тогда, когда мое приложение будет ловить сеть.

В то же время я обновляю свой редуктор, я просто добавляю тот же объект, а не тот, который я получу из базы данных mongodb после обновления.

Но тогда мой локальный массив получил новый объект без ObjectID, сгенерированного mongo.Поэтому, если мне понадобится доступ к нему позже через его _id, я не смогу.

Я не могу позволить себе создать новое поле идентификатора, мне действительно нужно монго.

const newObject = {
        Name: 'name',
        Visible: true,
      };

let nextArray = [...oldArray, newObject];

this.props.dispatch({type:'ARRAY_UPDATE', value: nextArray});
        axios.post('http://localhost:4000/Array',nextArray )

Тогда мой массив Redux будет [... oldArray, {Name: 'name', Visible: true}]

В то время как мой массив Mongo будет [... oldArray, {_id: ObjectId ('5ca52869c8f23918407535b2'),Имя: 'name', Visible: true}]

Это неудобно, так как мне нужен _id, работающий с локальным массивом.

Было бы безопасно генерировать себе _id?

Если да, то я почти уверен, что эта библиотека (https://www.npmjs.com/package/bson-objectid) сработает, иначе есть ли более безопасный способ?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...