Javascript 使用firebase进行数据定位
我试图保留从firebase获得的数据,但当我刷新页面时,它显示在不同的位置,而不是他创建的位置 我想用“位置”和“之前”,但结果是一样的 例如,我发布了(a,b,c,d,e),当我刷新页面时,它会在这里显示(e,d,a,b,c)一些图片Javascript 使用firebase进行数据定位,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我试图保留从firebase获得的数据,但当我刷新页面时,它显示在不同的位置,而不是他创建的位置 我想用“位置”和“之前”,但结果是一样的 例如,我发布了(a,b,c,d,e),当我刷新页面时,它会在这里显示(e,d,a,b,c)一些图片 const addForm=document.querySelector(“.add”); const list=document.querySelector(“.todos”); const search=document.querySelector(“.
const addForm=document.querySelector(“.add”);
const list=document.querySelector(“.todos”);
const search=document.querySelector(“.search输入”);
//生成新的待办事项
const generateTemplate=(toDo,id)=>{
让html=`
${toDo.title}
`;
const position=“beforeend”;
insertAdjacentHTML(位置,html);
};
常量deleteTodo=(id)=>{
const todos=document.queryselectoral(“li”);
toDo.forEach((toDo)=>{
if(toDo.getAttribute(“数据id”)==id){
toDo.remove();
}
});
};
//获取页面中的信息
db.collection(“Todos”).onSnapshot((快照)=>{
snapshot.docChanges().forEach((更改)=>{
const doc=change.doc;
如果(change.type==“已添加”){
generateTemplate(doc.data(),doc.id);
}else if(change.type==“已删除”){
deleteTodo(文档id);
}
});
});
//提交待办事项
addForm.addEventListener(“提交”,(e)=>{
e、 预防默认值();
const now=新日期();
常数toDo={
标题:addForm.add.value.trim(),
创建地点:firebase.firestore.Timestamp.fromDate(现在),
};
数据库收集(“待办事项”)
.添加(待办事项)
.然后(()=>{
console.log(“添加了todo”);
})
.catch((错误)=>{
控制台日志(err);
});
addForm.reset();
});
//删除待办事项
list.addEventListener(“单击”,(e)=>{
if(例如target.classList.contains(“删除”)){
const id=e.target.parentElement.getAttribute(“数据id”);
数据库收集(“待办事项”)
.doc(id)
1.删除()
.然后(()=>{
console.log(“Todo已删除”);
});
}
});
//搜索待办事项
常数filterTodos=(项)=>{
Array.from(list.children)
.filter((todo)=>!todo.textContent.toLowerCase().includes(术语))
.forEach((todo)=>todo.classList.add(“过滤”);
Array.from(list.children)
.filter((todo)=>todo.textContent.toLowerCase().includes(术语))
.forEach((todo)=>todo.classList.remove(“过滤”);
};
search.addEventListener(“keyup”,()=>{
const term=search.value.trim().toLowerCase();
滤嘴(术语);
});
数据库收集(“待办事项”)
.get()
。然后((快照)=>{
snapshot.docs.forEach((doc)=>console.log(doc.data());
});代码>您需要使用以通过排序获取文档。
应该是这样的
db.collection("Todos")
.orderBy('created_at')
.get()
.then((snapshot) => {
snapshot.docs.forEach((doc) => console.log(doc.data()));
});