我想返回一个具有特定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 function
。doc.data().update(...)
也是如此。
在第二个代码片段中,我主要尝试查看返回的内容,并运行上面提到的uodate函数的变体。但没有成功。
发布于 2019-04-17 03:33:58
试试这个:
var objectRef= db.collection("objects").doc(ID);
objectRef.update({
value: 0
}).then(function() {
console.log("Document successfully updated!");
}).catch(function(error) {
// The document probably doesn't exist.
console.error("Error updating document: ", error);
});
https://stackoverflow.com/questions/55714423
复制相似问题