Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mencapai Fungsi SQL \'LIKE\' dalam Firebase?

Bagaimanakah Saya Boleh Mencapai Fungsi SQL \'LIKE\' dalam Firebase?

DDD
Lepaskan: 2024-11-27 07:08:09
asal
310 orang telah melayarinya

How Can I Achieve SQL

Bolehkah Firebase Melaksanakan Operasi "LIKE" SQL?

Firebase ialah alat yang popular untuk penyimpanan data dan struktur datanya selalunya menyerupai pangkalan data hubungan. Walau bagaimanapun, Firebase tidak menyokong operasi Bahasa Pertanyaan Berstruktur (SQL) seperti LIKE. Namun begitu, terdapat cara yang elegan untuk mencapai kefungsian yang serupa.

Dengan kemunculan Cloud Functions for Firebase, penyepaduan Firebase dengan Algolia melalui Functions menawarkan penyelesaian yang berkesan. Pendekatan ini menyediakan penyelenggaraan yang rendah sambil berpotensi menanggung kos tambahan berbanding dengan penyelesaian tersuai.

Sebagai alternatif, seseorang boleh melaksanakan fungsi carian mereka sendiri. Walau bagaimanapun, disebabkan kerumitan dan kepentingan ciri carian, biasanya dinasihatkan untuk memanfaatkan alat pihak ketiga yang boleh berskala. Pilihan popular untuk Firebase ialah ElasticSearch, yang boleh disepadukan melalui proses pemantauan dan pengindeksan.

Data Pengindeksan:

var Firebase = require('firebase');
var ElasticClient = require('elasticsearchclient')

// initialize ElasticSearch API
var client = new ElasticClient({ host: 'localhost', port: 9200 });

// listen for Firebase data changes
var fb = new Firebase('<INSTANCE>.firebaseio.com/widgets');
fb.on('child_added',   createOrUpdateIndex);
fb.on('child_changed', createOrUpdateIndex);
fb.on('child_removed', removeIndex);

function createOrUpdateIndex(snap) {
   client.index(this.index, this.type, snap.val(), snap.name())
     .on('data', function(data) { console.log('indexed ', snap.name()); })
     .on('error', function(err) { /* handle errors */ });
}

function removeIndex(snap) {
   client.deleteDocument(this.index, this.type, snap.name(), function(error, data) {
      if( error ) console.error('failed to delete', snap.name(), error);
      else console.log('deleted', snap.name());
   });
}
Salin selepas log masuk

Menyiasat Indeks:

<script src="elastic.min.js"></script>
 <script src="elastic-jquery-client.min.js"></script>
 <script>
    ejs.client = ejs.jQueryClient('http://localhost:9200');
    client.search({
      index: 'firebase',
      type: 'widget',
      body: ejs.Request().query(ejs.MatchQuery('title', 'foo'))
    }, function (error, response) {
       // handle response
    });
 </script>
Salin selepas log masuk

Langkah ini membolehkan pertanyaan fleksibel dan penyelenggaraan indeks prestasi, menjadikannya alternatif yang berdaya maju kepada operasi seperti SQL dalam Firebase.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Fungsi SQL \'LIKE\' dalam Firebase?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan