node.js - Firebase calling `child(all).equalTo(id)` -


i check children contains child value variable id.

this came with:

usersref.child(formdata.openid + '/votes').child().equalto(formdata.appid).once('value', function(snapshot) {}); 

this returned: firebase.child failed: called 0 arguments. expects @ least 1.

also tried:

usersref.child(formdata.openid + '/votes').orderbykey().equalto(formdata.appid).once('value', function(snapshot) {}); 

this doesn't throw error doesn't return value.

usersref.child(formdata.openid + '/votes').orderbychild('a').equalto(formdata.appid).once('value', function(snapshot) {}); usersref.child(formdata.openid + '/votes').orderbychild('b').equalto(formdata.appid).once('value', function(snapshot) {}); usersref.child(formdata.openid + '/votes').orderbychild('c').equalto(formdata.appid).once('value', function(snapshot) {}); ... usersref.child(formdata.openid + '/votes').orderbychild('z').equalto(formdata.appid).once('value', function(snapshot) {}); 

this works, needs go through lot of requests.

data structure:

{   "azxaxacf7ueoosmllh5vp4" : {     "favorites" : {       "3811" : true,       "3910" : true     },     "votes" : {       "-kragbsn8bhop70uuisb" : {         "upvote" : "3811"       },       "-kragcxu3gr-pqpuces8" : {         "downvote" : "3811"       },       "-kragkjp4ogivif9qjml" : {         "upvote" : "3910"       },       "-kragroy156zy5pxor-g" : {         "upvote" : "3903"       },       "-krahhnkp2isqneyzs2g" : {         "downvote" : "3903"       },       "-krahr2zanh6flz3xn4t" : {         "upvote" : "3280"       },       "-krakltqwli9q7j8mq8w" : {         "upvote" : "3653"       },       "-kram0quqeu9tyehyese" : {         "downvote" : "3910"       },       "-kram5mfgo-ww1e-azk_" : {         "downvote" : "2858"       },       "-kramvvgsedwkur_2ece" : {         "downvote" : "2411"       },       "-kramwf-4oaycb0gg3sh" : {         "upvote" : "2411"       },       "-kramifsigq06jfvg0q_" : {         "upvote" : "2344"       }     }   },   "clsaipzci5re0a5rvchuaa" : {     "favorites" : {       "3811" : true,       "3884" : true,       "3970" : true     },     "votes" : {       "-kra4o-j3vewbxwudvbo" : {         "downvote" : "3849"       },       "-kra4tv883o2n6_tz_-p" : {         "upvote" : "3884"       },       "-kra4wy5jfbnm1xod-lu" : {         "downvote" : "3884"       },       "-kra54vexvgk6yksw_i6" : {         "upvote" : "3778"       },       "-kra5cs3iyrskvh8zbmi" : {         "upvote" : "3764"       }     }   },   "chzvupegjig0bymchinjre" : {     "favorites" : {       "3811" : true,       "3910" : true     },     "votes" : {       "-krafniozpfqhvvotfxh" : {         "downvote" : "3811"       },       "-krafq_ym9g9jplxx1on" : {         "upvote" : "3811"       },       "-krafcefnivtfu8vkhgj" : {         "upvote" : "3910"       },       "-kraffaweo7km6jn_dk5" : {         "downvote" : "3678"       },       "-kraflsgxjl_5owfgszd" : {         "downvote" : "3778"       },       "-krafpsrnel4cjqn217w" : {         "downvote" : "3769"       }     }   },   "i1sko3uk8bmeet9fppvpuo" : {     "votes" : {       "-krafmanooldofoicwh2" : {         "upvote" : "3910"       }     }   },   "k_a5kz2pdgyfoibmt8jgxc" : {     "votes" : {       "-kracl3jawwyed_ylvan" : {         "downvote" : "3764"       }     }   },   "logzs_zextpm8av6yollkm" : {     "favorites" : {       "3811" : true,       "3970" : true     },     "votes" : {       "-kra1hnvsryngomq0xzk" : {         "downvote" : "3970"       },       "-kra1owl52ffuehk7-yq" : {         "upvote" : "3970"       },       "-kra1zlvzxo4ttxquazu" : {         "upvote" : "3851"       },       "-kra1bkiwj0anyj-f4sr" : {         "downvote" : "3851"       },       "-kra1fljik6czt6bw2di" : {         "upvote" : "3778"       },       "-kra1su1fpspxcsh-nkc" : {         "upvote" : "3903"       },       "-kra1wxxydnqqzcyi0zo" : {         "upvote" : "3811"       }     }   },   "oufamslsiabjc0ou2oqa2c" : {     "favorites" : {       "2896" : true     },     "votes" : {       "-kra4zr7j5rfv8x96bpp" : {         "upvote" : "3903"       },       "-kra5-mupidqiv-xbm5e" : {         "downvote" : "3903"       },       "-kra50zodlpn-hz_m3_p" : {         "upvote" : "3903"       },       "-kra5ouuuqmiihbf0kut" : {         "upvote" : "3903"       },       "-kra5pql4h0on-mssnjr" : {         "upvote" : "3903"       },       "-kradbd0hretdaq7ia0q" : {         "downvote" : "2896"       },       "-kradcihyimnvry-uzu3" : {         "upvote" : "2896"       },       "-kradu_d25jmx69toavb" : {         "upvote" : "3811"       },       "-krakdw3b7rsg3fhr2o-" : {         "upvote" : "3778"       },       "-krakgwujmdihppl2wh2" : {         "upvote" : "3885"       }     }   } } 

there no firebase database api search through children specific value.

the best can think of creating inverted index of values votes have value in child. so:

app_index   appid1     voteid1: true     voteid2: true     voteid3: true   appid2     voteid1: true     voteid3: true   appid3     voteid2: true     voteid4: true 

with can votes specific app id.


Comments

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -