ama*_*man 2 javascript google-cloud-firestore
是否可以查询firebase以获取集合中文档的字段,其中特定字段的数组中的元素数大于0
在我的示例中,每个文档都有一个名为“ people”的字段,其中包含一个整数数组(或者该数组为空)。
我的搜索总是返回0个文档,但是当我在firestore数据库管理面板中搜索时,可以看到一些文档。
import * as admin from 'firebase-admin';
import * as functions from 'firebase-functions';
admin.initializeApp();
var db = admin.firestore();
export const helloWorld = functions.https.onRequest(function(req,res)
{
var all_users = db.collection('users');
var query = all_users.where("people.length", ">", 0).get().then(snapshot =>
{
let docs = snapshot.docs;
//return 1st document found
res.send(docs[0].data());
});
query.catch(error =>
{
res.status(500).send(error);
});
});
Run Code Online (Sandbox Code Playgroud)
Firestore无法做到这一点。您可以查询数组类型字段的唯一内容是数组中某些元素的确切内容。
筛选任何数组大小的替代方法是使用整数字段来记录数组中元素的数量,并使该元素与对该数组的更改保持同步。
小智 5
FS 中的索引是稀疏的,因此您可以简单地执行 orderBy 并仅返回包含有序属性上的填充数据的文档:
.collection("users").orderBy("people", "asc")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
392 次 |
| 最近记录: |