gpt4 book ai didi

javascript - Firestore - 查询,然后更新

转载 作者:行者123 更新时间:2023-11-30 19:38:11 25 4
gpt4 key购买 nike

我想返回具有特定 ID 的项目并对其执行更新操作。我的查询得到了正确的结果,但它不允许我更新它。

我尝试按照本教程进行操作:https://www.youtube.com/watch?v=mYyPbfpoZeM并阅读文档。两者都没有帮助。同一主题的其他线程是不同的。

我有一个对象数据库,其中的唯一 ID 存储为整数。我有一个 HTML 表单来获取用户输入的 ID 和下面的查询来检索相应的对象。

我试过了。查询成功,更新失败。

db.collection('objects').where('ID','==', ID ).get().then((snapshot) => {
snapshot.docs.forEach( doc => {
console.log('debug');
console.log(doc.data().ID);
})
});

我对 firebase 和 js 还是新手,所以如果我的代码完全错误,请原谅我。我目前坚持这个:

db.collection('objects').where('ID','==', ID ).get().then((doc) => {
console.table(doc);
});

还是不行。

对于第二个片段,我目前得到一个难以辨认的表格,在其中我无法真正找到我正在寻找的对象。

如何更新单个文档中的单个值?

编辑:我忘记了更新功能的实现尝试。我在片段一的 for 循环内尝试了 doc.update({value:0}),结果是 doc.update is not a functiondoc.data().update(...) 也是如此。

在第二个片段中,我主要尝试查看返回的内容并运行上述 uodate 函数的变体。没有成功。

最佳答案

我通过研究 firestore 文档中更详细地介绍了实际功能的部分,设法让它发挥作用。不知何故,我很难找到它。

db.collection("users").where("name", "==", somename).limit(1).get().then(query => {
console.log(query);
const thing = query.docs[0];
console.log(thing.data());
let tmp = thing.data();
tmp.current_game_play = tmp.current_game_play + 1;
console.log(tmp);
thing.ref.update(tmp);
});

所以我使用 where 获取一个 Query 对象,使用 getthen promise resolve 中获取一个 querySnapshot,使用 docs[0] 检索第一个(也是唯一一个)documentSnapshot,最后 ref 获取一个引用,使整个内容以后可更新

关于javascript - Firestore - 查询,然后更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55714423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com