По вопросу, я хочу получить записи по времени.
например
users:(collection) {
uid(document) : {
uid(field) : 'someuid',
name(field) : 'somename',
messages(subcollection) : {
'1538484652672'(document) : {
text(field) : 'somemessages',
time(field) : 1538484652672,
}
'1538483652672'(document) : {
text(field) : 'somemessages',
time(field) : 1538483652672,
}
'1538483652672'(document) : {
text(field) : 'somemessages',
time(field) : 1538483652672,
}
.
.
.
.
.
(possible many thousands entries)
}
},
uid : {
}
}
Пользователь - это коллекция, внутри которой это имя - документ, а сообщения - это подколлекция.
А в сообщениях подколлекции ключ подобен сборке из
console.log(new Date().getTime());
Я хочу получить все сообщения, опубликованные сегодня и вчера.
Моя неудачная попытка:
let backYesterday = new Date(today.getFullYear(), today.getMonth() , today.getDate()-1).getTime();
db.collection('users').where("uid","==",uid).collection('messages')
.where("time" , '>' , backYesterday).get()
.then(function(querySnapshot) {
console.log(querySnapshot);
querySnapshot.forEach(function(doc) {
console.log(doc.id, " => ", doc.data());
});
})
.catch(function(error) {
console.log("Error getting documents: ", error);
});
OUTPUT
Пользовательская функция сработала, начало выполнения Выполнение заняло 3987 мс, пользовательская функция успешно завершена
Я не знаю, в чем дело.