首页 > 解决方案 > Firebase 检查项目是否不在 Flutter 中的数组中

问题描述

如果项目不在数组中,我想检查我的 Flutter 应用程序。如果它在里面,我想把它整理出来,如果没有,我想把它拿走。

有一个arrayContains反向功能的功能,但我找不到arrayContainsNot功能或其他东西。我该如何解决这个问题?

我想这样做:

await FirebaseFirestore.instance
    .collection("someCollection")
    .where("someArray", arrayContainsNot: "someItem")
    .get();

标签: firebasefluttergoogle-cloud-firestore

解决方案


您可以使用not-in运算符。

not-in 查询返回给定字段存在、不为空且不匹配任何比较值的文档。

所以你的代码变成:

    await FirebaseFirestore.instance
        .collection("someCollection")
        .where("someArray", whereNotIn: ["someItem"])
        .get();

请注意,它最多支持 10 个比较值,这些值必须在列表中传递给whereNotIn属性。


推荐阅读