在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);
});
});
.where("myArray", "!=", [])
对我很有效。自那个回答以来,这个功能是否已经被添加了呢? - KnewBdb.collection("collectionName").where("fieldName", "!=", value)
其中,collectionName是集合名称,fieldName是字段名称,value是要匹配的不等于值。 - Doug Stevenson"!=",[]
不起作用,但实际上是可以的 :) - KnewB.where('entries', isNotEqualTo: [])
,这对我来说可以让我略过'entries'为空的文档。根据您之前的回答,我不确定这是否会产生负面影响?@DougStevenson,您链接到另一个线程,我不知道您指的是什么。谢谢。 - railon