【发布时间】:2019-09-06 22:12:45
【问题描述】:
我想返回一个具有特定 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);
});
这仍然不起作用。
对于第二个 sn-p,我目前得到一张难以辨认的桌子,在其中我无法真正找到我正在寻找的对象。
如何更新单个文档中的单个值?
编辑:我忘记了更新功能的实现尝试。
我在 sn-p 的 for 循环中尝试了doc.update({value:0}),得到了doc.update is not a function。 doc.data().update(...) 也是如此。
在第二个 sn-p 中,我主要尝试查看返回的内容并运行上述 uodate 函数的变体。没有成功。
【问题讨论】:
-
你的更新代码在哪里?
-
@NadhirFalta 已编辑,感谢您指出我错过了我的主要观点
-
你在使用 AngularFirestore
AngularFirestore吗?除了更新值之外,您是否知道在该循环中执行任何操作? -
AngularFirebase,我不知道。我不知道这意味着什么。我是否知道在循环内做任何事情?我不想在循环中做任何其他事情。目前仅用于调试的控制台日志记录。
-
我可以看看你的构造函数吗?
标签: javascript firebase google-cloud-firestore