我想检查字段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();
}
});
答案 0 :(得分:0)
您的代码对我来说不错。我唯一想更改的是在查询中添加.limit(1)
,这样即使有多个匹配项,您也永远不会检索多个文档。
使用Cloud Functions或在您已经控制的服务器上都可以在此服务器端进行操作。
如果在服务器上执行此操作,则只需返回文档是否存在(布尔值),而不是整个文档。因此,您在那里节省了一些带宽。