firebase / firestore 文档查询不工作 - javascript
firebase / firestore docs queries Not working - javascript
由于 firestore 是新的,我在使用它时遇到了问题。
我必须获取所有 users 的 Collection 并遍历它。但它不起作用。
db.collection("users").get().then(function(querySnapshot){
console.log(querySnapshot.data());
});
它说:
querySnapshot.data is not a function
以及以下代码:
callFireBase(mobileToCheck){
db.collection("users").where("mobile_no", '==', mobileToCheck).get().then(function(querySnapshot){
if (querySnapshot.exists) {
var userData = querySnapshot.data();
var userId = querySnapshot.id;
console.log(mobileToCheck + "Exist In DB");
}else{
console.log(mobileToCheck + "Do Not Exist In DB");
}
});
}
一直在打印
923052273575 Do Not Exist In DB
即使存在,参考下图。在 docs 他们告诉了这个(我用过)方式。
您似乎想调用.data()
一组文档,而不是一个文档。请查看此代码是否有效:
db.collection("users").get().then(function(querySnapshot){
querySnapshot.forEach(doc => {
console.log(doc.data());
});
}).catch(err => {
console.log('Error getting documents', err);
});
您应该使用 docs.map
然后 doc.data()
。以下是使用 async await
语法
使用 Firestore 的方法
import firebase from 'react-native-firebase'
async fetchTop() {
const ref = firebase.firestore().collection('people')
const snapshot = await ref.orderBy('point').limit(30).get()
return snapshot.docs.map((doc) => {
return doc.data()
})
}
由于 firestore 是新的,我在使用它时遇到了问题。
我必须获取所有 users 的 Collection 并遍历它。但它不起作用。
db.collection("users").get().then(function(querySnapshot){
console.log(querySnapshot.data());
});
它说:
querySnapshot.data is not a function
以及以下代码:
callFireBase(mobileToCheck){
db.collection("users").where("mobile_no", '==', mobileToCheck).get().then(function(querySnapshot){
if (querySnapshot.exists) {
var userData = querySnapshot.data();
var userId = querySnapshot.id;
console.log(mobileToCheck + "Exist In DB");
}else{
console.log(mobileToCheck + "Do Not Exist In DB");
}
});
}
一直在打印
923052273575 Do Not Exist In DB
即使存在,参考下图。在 docs 他们告诉了这个(我用过)方式。
您似乎想调用.data()
一组文档,而不是一个文档。请查看此代码是否有效:
db.collection("users").get().then(function(querySnapshot){
querySnapshot.forEach(doc => {
console.log(doc.data());
});
}).catch(err => {
console.log('Error getting documents', err);
});
您应该使用 docs.map
然后 doc.data()
。以下是使用 async await
语法
import firebase from 'react-native-firebase'
async fetchTop() {
const ref = firebase.firestore().collection('people')
const snapshot = await ref.orderBy('point').limit(30).get()
return snapshot.docs.map((doc) => {
return doc.data()
})
}