У меня есть магазин, созданный с помощью 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) сработает, иначе есть ли более безопасный способ?
Спасибо.