如果需要,我想进行多重搜索 .where
如果“sku”没有给出任何结果,请继续搜索“sku”的值 additional_attributes.refKey
关于如何根据嵌套对象值在firestore中查找记录的任何想法,例如:
const ref = db.collection('products')
let snapshot = await ref.where('sku', '==', req.query.id).get()
if (snapshot.empty) {
snapshot = await ref.where('additional_attributes', 'array-contains', req.query.id).get()
if (snapshot.empty) return res.json([])
}
const collection = []
snapshot.forEach(doc => {
collection.push({ id: doc.id, ...doc.data() })
})
res.json(collection)
我也试过这样做:
snapshot = await ref.where('additional_attributes', 'array-contains', { refKey: req.query.id }).get()
但它也没有给我任何结果。知道我做错了什么吗?
1条答案
按热度按时间dgtucam11#
你需要使用
dot notation
要访问嵌套属性,请执行以下操作:您可以使用相同的方法来使用其他运算符,例如
array-contains
如果要在数组中查找元素。