Я пытаюсь реализовать синхронизацию базы данных firebase «по отметке времени», но не могу ее решить.
для меня это не сохранение сообщений в "любом порядке"
Ниже приведен мой блок кода для синхронизации:
let time = {time: moment().format('MM Do YY, h:mm: a')}
const createMessage = (uid, text, displayName) => ({
uid,
text,
displayName,
time
})
function * syncMessagesSaga () {
//ordering by uid does not make sense to me
const channel = yield call(()=>prsf(({rsf})=>
rsf.firestore.channel('messages')));
while(true) {
const snapshot = yield take(channel);
let messages = [];
snapshot.forEach(message => {
messages.push({id: message.id, ...message.data()})
});
yield put(syncMessages(messages))
}
}
Дело в том, что я должен поставить следующий блок кода
.orderBy("time", "asc")
но не могу понять куда добавить
Я думаю, может быть, это связано с тем, что моя функция кода отправки не сохраняется в блоке кода заказа для моей отправки и сохранения:
function * sendMessageSaga (action) {
const rsf= yield call(getRsf);
const uid = yield select(state => state.login.user.uid)
const displayName = yield select(state => state.login.user.displayName)
yield call(rsf.firestore.addDocument, 'messages', createMessage(uid, action.message, displayName))
yield put(reset('DCTForm'))
yield put(reset('MessageForm'))
yield put(changeNewMessage(''))
}