Lokijs adalah database dalam memori yang mengutamakan pertimbangan kinerja.
Lokijs mendukung pengindeksan dan akses dokumen yang lebih cepat, dengan kinerja eksekusi yang sangat baik (hampir 500.000 OPS/detik). Kelas DynamicView bawaannya dapat digunakan untuk mengindeks subset data dan bahkan mendapatkan kinerja yang lebih cepat.
*Baca artikel ini untuk melihat kinerja Lokijs.
Lokijs mendukung koleksi (dataset), yang sangat mirip dengan MongoDB, dan menyimpan data ke disk dalam format JSON, sehingga data Anda portabel.
Lokij dapat berjalan di sisi Node.js dan browser.
JavaScript adalah bahasa yang sederhana dan mudah dipelajari dan universal, sehingga sangat mudah untuk mengembangkan database JavaScript dan sangat efisien. Jika MongoDB Anda tidak pensiun, Anda mungkin menemukan Lokijs menjadi solusi yang lebih ideal dalam situasi ini:
1. Aplikasi seluler - terutama aplikasi HTML. (Cordova, phoneGap)
2.node.js penyimpanan data bawaan yang dirancang untuk aplikasi kecil hingga menengah
3. Aplikasi bawaan di desktop (Node Webkit)
Lokijs mendukung server mandiri dan dapat diakses menggunakan klien HTTP/TCP.
Pilih Paradigma Favorit Anda
Fungsionalitas Lokijs sepenuhnya memanfaatkan kekuatan JavaScript.
Jika pemrograman fungsional adalah gaya pilihan Anda, Anda pasti ingin menggunakan tampilan untuk meminta data.
Anda juga dapat menggunakan shell MongoDB pilihan Anda untuk meminta objek teks.
Awal yang cepat
Memasang
Lokij dapat dipasang di NPM dan Bower. Berlari:
Salinan kode adalah sebagai berikut:
NPM Instal Lokijs
atau
Salinan kode adalah sebagai berikut:
Bower Instal Lokijs
menggunakan
Buat database:
Salinan kode adalah sebagai berikut:
var db = new loki ('loki.json')
Lulus dalam file JSON Anda perlu menyimpan data
Buat dataset:
Salinan kode adalah sebagai berikut:
var anak -anak = db.addcollection ('anak -anak')
Masukkan dokumen:
Salinan kode adalah sebagai berikut:
anak -anak.insert ({name: 'sleipnir', kaki: 8})
anak -anak.insert ({name: 'jormungandr', kaki: 0})
anak -anak.insert ({name: 'hel', kaki: 2})
Dapatkan dokumentasinya:
Salinan kode adalah sebagai berikut:
anak -anak. Get (1); // mengembalikan sleipnir
anak -anak.find ({'name': 'sleipnir'})
Children.find ({legs: {'$ gt': 2}})
Buat tampilan dinamis:
Salinan kode adalah sebagai berikut:
var legs = children.adddynamicView ('legs');
legs.applyfind ({legs: {'$ gt': 2})
legs.ApplySimplesort ('kaki');
kaki. Data ();
MapReduce (agregasi data):
Salinan kode adalah sebagai berikut:
anak -anak.mapreduce (
fungsi (obj) {return obj.legs; },
function (array) {
var sum = 0;
untuk (var i = 0; i <array.length; i ++) {
jumlah += array [i];
}
return (sum / array.length) .tofixed (2);
});