检查包含一个具有特定值的字段的文档是否存在的最佳方法是什么-Firestore?

时间:2020-04-07 00:13:32

标签: javascript firebase react-native google-cloud-firestore firebase-authentication

我想检查字段nam是否具有特定值,如果为true,则返回一个布尔值(或通过其他方式检查-等等)。 这是我的代码,实际上确实在检查,但仍然会返回一些内容(服务器自动生成的一些内容),并且如果我检查null,当然它永远不会为空。

那么,最简​​单,最好的方法是什么?并且在服务器端进行比较好吗?附言我想通知用户已找到具有该值的字段!

这是我当前的代码:

var type_of_vendor = db().collection(this.state.vendor_type).where('nam', '==', this.state.vendor_name);
type_of_vendor.get()
    .then((user) => {
        if (user.exists) {
            this.state.error = true;
            let errorMessage = 'error message';
            this.setState({ errorMessage: errorMessage });
        } else {
            this._signUpVendorvalidateHandler();
        }
    });

1 个答案:

答案 0 :(得分:0)

您的代码对我来说不错。我唯一想更改的是在查询中添加.limit(1),这样即使有多个匹配项,您也永远不会检索多个文档。

使用Cloud Functions或在您已经控制的服务器上都可以在此服务器端进行操作。

如果在服务器上执行此操作,则只需返回文档是否存在(布尔值),而不是整个文档。因此,您在那里节省了一些带宽。