我想知道是否可以检查Cloud Firestore文档中是否存在属性。 document.contains("property_name")
之类的东西,或者是否存在文档属性。
答案 0 :(得分:2)
要解决此问题,您可以像下面这样简单地检查DocumentSnapshot
对象是否为空:
var yourRef = db.collection('yourCollection').doc('yourDocument');
var getDoc = yourRef.get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
} else {
if(doc.get('yourPropertyName') != null) {
console.log('Document data:', doc.data());
} else {
console.log('yourPropertyName does not exist!');
}
}
})
.catch(err => {
console.log('Error getting document', err);
});
答案 1 :(得分:0)
使用客户端SDK,无法查询Firestore文档的一个字段,无论是其值还是其存在/存在。
您必须查询整个文档并选中此特定字段。
答案 2 :(得分:0)
我认为您是指进行查询。 仍然没有办法检查Firestore中是否存在某些字段。但是您可以添加另一个值为 true / false
的字段library(parallel)
no_cores <- detectcore(logical=F)-1
c1 <- makecluster(no_cores)
parallel::clusterEvalQ(c1, c("PerformanceAnalytics", "fractal"))
DFA_SS_FS <- parApply(c1, ss_y, FUN=apply(ss_y,3,function(x){ DFAfunction(x) })))
查看此链接以了解更多
https://firebase.google.com/docs/firestore/query-data/queries How do I get documents where a specific field exists/does not exists in Firebase Cloud Firestore?
答案 3 :(得分:0)
您可以像下面的代码段一样使用in
运算符
const ref = admin.firestore().collection('yourCollectionName').doc('yourDocName')
try {
const res = await ref.get()
const data = res.data()
if (!res.exists) {
if (!("yourPropertyName" in data)) {
// Do your thing
}
} else {
// Do your other thing
}
} catch (err) {
res.send({err: 'Something went terribly wrong'})
}