我确实有这个结构:

db.collection('users')


并希望这样做:

db.collection('users')
   .where('works', 'array-contains', 'CASE_A')
   .where('works', 'array-contains', 'CASE_B')
   .where('works', 'array-contains', 'CASE_C')
   ...


在这种情况下,我将
(( .where('works', 'array-contains', $ {variable} ))

我将在开始的db.collection('users')中添加它,我该如何做呢?

最佳答案

只需创建一个内联数组:

db.collection('users')
   .where('works', 'array-contains', ['CASE_A', 'CASE_B', 'CASE_C'])


或根据需要使用变量:

const array = ['CASE_A', 'CASE_B', 'CASE_C']
db.collection('users')
   .where('works', 'array-contains', array)


如果您实际上要查找存在所有案例的文档(而不是存在所有案例的文档),则将无法使用数组包含的类型查询。您将必须将数组转换为对象并对其进行查询,如以下问题所示:Firestore: Multiple 'array-contains'

关于javascript - 如何动态地将函数数组添加到javascript函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59709829/

10-12 00:08
查看更多