【发布时间】:2017-04-01 14:08:27
【问题描述】:
我想展示一份玩具清单。 每个玩具都是唯一的名称。 名称可以包含任何字符,因此可以包含点、斜线或美元。 这就是为什么我更喜欢使用 push 方法来获取生成的密钥。
我最终得到的代码很麻烦。 它不是线程安全的,我最终可能会得到重复的玩具。 有没有更好的办法?
var child = testsRef.orderByChild("name").equalTo("Meccano");
return child.once('value').then(function(snapshot) {
var snap = snapshot.val();
if (snapshot.val()) {
alert('Toy ' + value + ' already exists.');
} else {
var newPostKey = testsRef.push().key;
var updates = {};
updates[newPostKey] = { name: value };
var result = testsRef.update(updates);
alert('We can only assume that it has worked.' + result);
}
});
我构建了一个完整的工作代码笔来说明我的问题: http://codepen.io/paganaye/pen/EWrayY
【问题讨论】:
标签: javascript firebase firebase-realtime-database unique-index