我是使用Firebase和NoSQL数据库的新手。我想知道是否可以这样做:
拥有用户数据库我想通过电子邮件或UID获取数据。将两个字段混合为ID并稍后使用queryStartingAtValue
或queryEndingAtValue
方法进行过滤是否最佳?
{
"users": {
"user1@gmail.comDjDJSADfgg": {
dataUser1: ----- },
"user2@gmail.comfmadaDkK": {
dataUser2: ----- },
"user3@gmail.com3Dkdjakdja4": {
dataUser3: ----- },
"user4@gmail.comKdsadASD": {
dataUser4: ------ },
}
}
答案 0 :(得分:1)
虽然你可以使用queryStartingAtValue
和queryEndingAtValue
,但这个解决方案并不是那么清楚,想象别人读你的代码(甚至是你6个月后),他/她是否知道你的意思由queryStartingAtValue
?可能不是。
我认为使用orderByChild
和equalTo
e.g。
var ref = new Firebase("yourdb");
ref.orderByChild("email").equalTo("blahblah@gmail.com")
.on( anEvent, function(snapshot) {
console.log(snapshot.key());
});