我在火力地堡許多電報鍵盤,我想有一個高級Dictionery搜索的Keyboards
童車,我的意思是SECEND級深,即用戶輸入,
Forexample用戶輸入rock
,我想每個鍵盤包含在岩石開始在末或中間或者,在這個例子中我有3個鍵盤:morning
,rock
和rocky
。火力地堡高級詞典搜索
const ref = db.ref('Keyboards/rock'); //keyboard 1
const ref = db.ref('Keyboards/morning'); //keyboard 2
const ref = db.ref('Keyboards/rocky'); //keyboard 3
?我怎樣才能和console.log
:rock
和rocky
當用戶鍵入rock
?
我的問題90%由@rymdmaskin解決,但高級字典搜索仍然是開放的。
equalTo
和startAt
和endAt
不行的,我需要像contain
,有人說用彈性搜索(https://firebase.googleblog.com/2014/01/queries-part-2-advanced-searches-with.html)
規則:
{
"rules": {
".read": true,
".write": true,
"Keyboards" : {
".indexOn": "Keyboards"
}
}
}
代碼:
const ref = db.ref('/');
ref.child('/').orderByChild('Keyboards').equalTo('rock').on("value", function(snapshot) {
console.log(snapshot.val());
key = snapshot.forEach(function(data) {
console.log(data.key);
});
});
你是什麼意思是把那些在一個字符串?你想要達到什麼目標?你的意思是在某種全局變量中連接每個子節點的內容嗎? – adz5A
例如我有一個書名的銀行,當用戶在bot中輸入「rock」時,bot會發送包括'rock'名的所有書籍,在這個例子中我有搖滾和搖滾樂,bot應該向用戶發送2條消息,岩石和岩石有一些chids:id,文本,照片和..... –
Firebase數據庫查詢無法深入地搜索嵌套的屬性。看到我的解釋在這裏:https://stackoverflow.com/questions/27207059/firebase-query-double-nested我也懷疑你正在處理一個分類問題,你的數據結構是不可用的。看到我的解釋在這裏:http://stackoverflow.com/questions/40656589/firebase-query-if-child-of-child-contains-a-value –