gpt4 book ai didi

Angular Firestore 通过查询获取单个文档

转载 作者:行者123 更新时间:2023-12-01 22:25:44 25 4
gpt4 key购买 nike

我正在使用 Google Firestore。有一个名为 Universities 的集合,其中每个文档代表一所大学。

如何通过名称查找大学并将其 view_count 更新 +1?

[Collection: Universities]:
[Document: 0JsaLtcfdDaEtHLMlMrh]:{
name: The University of Sydney,
view_count: 1
};
[Document: K2z7DMhKreyDniGUpo2t]:{
name: University of New South Wales,
view_count: 2
}

最佳答案

你可以这样做:

db.collection("Universities").where("name", "==", "The University of Sydney")
.get()
.then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
// doc.data() is never undefined for query doc snapshots
//console.log(doc.id, " => ", doc.data());
var docData = doc.data();
var updatedCount = docData.view_count + 1;
var universityRef = db.collection('Universities').doc(doc.id);
var setWithMerge = universityRef.set({
view_count: updatedCount
}, { merge: true });

});
})
.catch(function(error) {
console.log("Error getting documents: ", error);
});

因此,您可以做的是首先使用 where 在集合中查询以获取具有特定名称的所有文档,然后在 querySnapshot 中您将获得一个文档对象 &然后您可以创建该文档的引用并使用 set 方法和 merge: true 更新(覆盖)其 view_count 属性值以保留其他属性值就这样。

关注官方文档:Add data , Get data

注意:这是通用的 Web JS 解决方案。您可以使用相同的逻辑并在 Angular 应用程序中编写 typescript 代码

关于Angular Firestore 通过查询获取单个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52377340/

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