Javascript 来自firebase的多个单一结果
我有一个包含一些ID的元素数组。我需要连接到firestore并仅获取具有每个指定id的记录 我的阵列:Javascript 来自firebase的多个单一结果,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我有一个包含一些ID的元素数组。我需要连接到firestore并仅获取具有每个指定id的记录 我的阵列: var ids = { 101, 201, 303} 以及我的firestore文档: { "users": { { "id": 1, "name": "name1", "otherData:" "otherData&quo
var ids = { 101, 201, 303}
以及我的firestore文档:
{
"users": {
{
"id": 1,
"name": "name1",
"otherData:" "otherData"
},
{
"id": 2,
"name": "name1",
"otherData:" "otherData"
},
{
"id": 3,
"name": "name1",
"otherData:" "otherData"
},
...
{
"id": 1000,
"name": "name1",
"otherData:" "otherData"
}
}
}
如何使用db.collection('coll1').where()语句有效地实现这一点?
我尝试使用forEach获取数据,如下所示:
ids.forEach(id => {
let result = db.collection('coll1').where('id', '==', id).get();
...
});
但每次我尝试这样做,它都不起作用
我是firestore环境的新手,不知道如何执行此操作。请提供帮助。您可以为此使用Firstore复合查询。链接到官方文件。
使用in运算符将同一字段上最多10个相等(=)子句与逻辑OR组合。in查询返回给定字段与任何比较值匹配的文档。
类似地,使用array contains any运算符将同一字段上最多10个array contains子句与逻辑OR组合。数组包含任何查询返回文档,其中给定字段是包含一个或多个比较值的数组
您需要将ID更改为数组类型
var ids = [ 101, 201, 303 ]
查询
您可以为此使用Firstore复合查询。链接到官方文件。
使用in运算符将同一字段上最多10个相等(=)子句与逻辑OR组合。in查询返回给定字段与任何比较值匹配的文档。
类似地,使用array contains any运算符将同一字段上最多10个array contains子句与逻辑OR组合。数组包含任何查询返回文档,其中给定字段是包含一个或多个比较值的数组
您需要将ID更改为数组类型
var ids = [ 101, 201, 303 ]
查询
谢谢你的帮助,这正是我所需要的:)谢谢你的帮助,这正是我所需要的:)