我想先测试Firebase中是否存在数据,然后再添加它。但是我的方法有问题:我尝试使用此Javascript代码列出所有数据:
var theDataToAdd = userName;
var usersRef = new Firebase('https://SampleChat.firebaseIO-demo.com/users/');
usersRef.on('child_added', function(snapshot) {
var message = snapshot.val();
if (message.name == theDataToAdd)
alert ("exist");
});
但是,如果该用户不存在,则会在之前添加该用户,然后我的代码会说该用户存在。您会说这是正常的,因为仅在“
child_added”时才调用我的警报,但是我不知道该怎么做。
我也尝试使用“值”事件,但我的“ message.name”为空。
我该如何解决?
您可以DataSnapshot.hasChild
用来确定某个孩子是否存在。
usersRef.once('value', function(snapshot) {
if (snapshot.hasChild(theDataToAdd)) {
alert('exists');
}
});
但这将下载所有数据usersRef
并在客户端上执行检查。通过加载更具针对性的引用,只为您要检查的用户下载数据,效率会更高:
usersRef.child(theDataToAdd).once('value', function(snapshot) {
if (snapshot.exists()) {
alert('exists');
}
});
我已经将Selenium WebDriver添加到Powershell并创建WebDriver实例: 现在我要找到输入字段: 我发现了几个如何在C#中“测试元素是否存在”的例子: Selenium WebDriver-测试元素是否存在
问题 你想测试一个文件或目录是否存在。 解决方案 使用 os.path 模块来测试一个文件或目录是否存在。比如: >>> import os >>> os.path.exists('/etc/passwd') True >>> os.path.exists('/tmp/spam') False >>> 你还能进一步测试这个文件时什么类型的。 在下面这些测试中,如果测试的文件不存在的时候,结果都会返
这个代码段总是执行else部分,所以我想等到变量从数据库中获取值后再执行。
问题内容: 目前,我有一个这样的对象数组: 我正在测试是否存在对象,然后再进行如下操作: 但是我正在寻找一种更短的方法来执行此操作,因为我经常这样做。我想做这样的事情,但这是无效的: 是否有我缺少的速记语法或更好的方法? 问题答案: 为什么不使用内置功能?它有两种口味 第一个以谓词为参数。 更新:从Swift 2开始, 两个全局函数都已被 协议扩展方法 取代: 第一个(基于谓词的)用作: 斯威夫特
firebase中是否有方法可以检查DB中是否存在值?Firebase有方法。exists(),但根据文档,它只检查键。 我有以下结构: 我想检查是否存在值为U1EL5623的ID。