我有一个Firebase数据库。 我有公司和承包商。 承包商可以为多个公司工作,而公司可以有多个承包商。 这是一个直截了当的多对多的关系。 我希望能够回答有关公司和承包商的问题: 给定一个公司,谁是目前的承包商。 给承包商什么公司他们的工作。 在Firebase中构build数据有哪些select?
我正在开发一个应用程序,并在FirebaseDatabase保存一些Strings如postedAtTime,postedBy,postedOnDate。 我想将GeoFire坐标保存在上面所有string保存的同一个节点中,以便稍后我可以轻松地进行查询。 下面是我保存所有string的path: databaseReferenceHRequests = firebaseDatabase.getReferenceFromUrl("https://appName-e1a35.firebaseio.com/requests/"); 这是我如何保存它: // in onButtonClicked method: postNewRequest(null, imageUID, MainActivity.userName.getText().toString(), time, date, utcFormatDateTime, MainActivity.userEmail.getText().toString(), geoFire); // the method: public void postNewRequest(Bitmap bitmap, String imageUIDh, String postedBy, String postedAtTime, String postedOnDate, String utcFormatDateTime, String userEmail, GeoFire geoFire) { HRequest hRequest = new HelpRequest(null, imageUIDh, postedBy, postedAtTime, postedOnDate, utcFormatDateTime, userEmail, geoFire); databaseReferenceHRequests.push().setValue(hRequest); } […]
我正在使用FirebaseSimpleLogin来创build用户并处理身份validation。 当我通过$createUser()方法尝试创build一个简单login的新用户时,如果电子邮件地址已被使用,则firebase将不会创build该用户。 不过,我也使用$set()将我创build的用户保存到我的user.uid ,然后创build它们,并使用user.uid作为键。 当试图写入数据库时,即使用户名不唯一,firebase也会保存logging,因为只需简单login就可以使用电子邮件和密码。 那么我怎样才能validation一个用户名是唯一的,当它不被用作用户对象的关键? 我正在创build像这样的新用户: $scope.createUser = function() { $scope.auth.$createUser('trinker@gmail.com', 'password').then(function(user, err) { if (!err) { ref.child('users/' + user.uid).set({ email: user.email, username: user.username }); console.log("success!"); }else{ console.log(err.message); } }); } 而我的用户对象如下所示: { "users" : { "simplelogin:28" : { "email" : "trinker@gmail.com", "username" : "jtrinker" }, "simplelogin:30" : { "email" : "test@gmail.com", "username" : […]
表的结构是: 聊天logging – > randomId – > – >参与者 – > – > – > 0:'name1' – > – > – > 1:'name2' – > – > chatItems 等等 我想要做的是查询聊天表,find所有通过传入的用户名string保持参与者的聊天。 这是我到目前为止: subscribeChats(username: string) { return this.af.database.list('chats', { query: { orderByChild: 'participants', equalTo: username, // How to check if participants contain username } }); }