野狗雲簡單應用之亂入

2016-07-23 12:06:00
hainuo
原創 1302
摘要:野狗雲規則錶達式的寫法,讀寫數據
##0x00 規則錶達式```{ "rules": { ".write":true, "users":{ "$user_id":{ ".write":true, ".read":"$user_id== auth.uid" } } }}```也就是讀寫權限通過rules節點下的`.write` 來控製 很簡單 允許讀就是 true,不允許讀就是false 這箇允許的對象是所有人 也就是everyone```var ref = new Wilddog("https://hainuo.wilddogio.com/");ref.key() //out put nullref.child('users').key() //output users //註意 這裡的users併不一定是在服務端數據庫中真正存在的,隻是根據你的命令來解析的,所以不要被欺騙瞭ref.val() //會報錯Uncaught TypeError: ref.val is not a function(…) 因爲隻有snapshot纔有這箇屬性```下麵我們先不管這箇`ref.val()`,我們來看如何寫入,因爲數據要寫入後,纔能讀取。##0x01 如何寫入數據```ref.set(data); //data 是json對象ref.child('user').set(data) //如果存在user節點則直接替換user節點下的內容,如果不存在直接創建user節點,併將內容寫入到user節點下麵ref.push(data) //在當前節點中,插入一條數據,但是key是自動生成的沒法控製,(生成的key類似"-KNUbvYd37x-jEUFPd8O")所以如果想要搞定key 隻能用set方法,比如這樣 data={"phone":"123456789","password":"123456"} 你想將數據插入到user節點下將key設置爲123456789 那麽要這樣寫 ref.child('users/123456789').set(data)```##0x002 數據讀取```ef.once('value',function(snapshot){console.log(snapshot);if(snapshot.child(phone+'/password').exists()){phoneChild=snapshot.child(phone+'password');console.log(phoneChild.val());}else{alert('我想裡麵添加數據瞭');console.log(snapshot.child(phone+'/password').key());ref.child(phone+'/password').set(data);//通過這句我們可以爽快的建立數據啊}});```#0x03 開始創建用戶數據``` ref.createUser({email:phone+"@xxx.com",password:password},function(err,data){ if(err!=null){ alert('創建失敗!'); }else{ console.log('創建成功',data);//output 創建成功 Object {uid: "simplelogin:1469410287985886"} 返迴的是uid信息 } })```#0x04 登陸認證```ref.authWithPassword({email:phone+'@xxx.com',password:password},function(err,data){ if(err){ console.log("Login Failed!", error); }else{ console.log("Authenticated successfully with payload:", data);//output Object {provider: "password", uid: "simplelogin:1469410287985886", token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2IjowLCJpY…jB9fQ.SyYAe79uV-7TQZsIoZTHzX-1pCQSuBdfwIkLi2xMWTE", password: Object, expires: 1469412684…} }});```
發錶評論
叄 加 捌 =
評論通過審核後顯示。