Cara menggunakan MongoDB untuk membangunkan sistem aplikasi berdasarkan lokasi geografi
Dalam pembangunan aplikasi Internet hari ini, semakin banyak aplikasi perlu dibangunkan berdasarkan maklumat lokasi geografi, seperti orang berhampiran, perniagaan berdekatan, dll. . Sebagai pangkalan data bukan perhubungan, MongoDB mempunyai sokongan lokasi geografi yang kaya dan boleh menyediakan pertanyaan lokasi geografi yang mudah dan cekap. Artikel ini akan memperkenalkan cara menggunakan MongoDB untuk membangunkan sistem aplikasi berasaskan lokasi geografi dan menyediakan contoh kod khusus.
Langkah 1: Muat turun dan pasang MongoDB Anda boleh melawati tapak web rasmi MongoDB (https://www.mongodb.com/) untuk memuat turun versi terkini Pilih pakej pemasangan yang sepadan sistem pengendalian Selepas pemasangan selesai Tambah MongoDB ke pembolehubah persekitaran.
Langkah 2: Buat pangkalan data MongoDB dan buat koleksi di dalamnya untuk menyimpan data lokasi geografi.
Langkah 3: Sambungkan ke pangkalan data MongoDB menggunakan pemacu rasmi MongoDB atau pemacu pihak ketiga yang lain.
{
"jenis": "Titik",
"koordinat": [longitud, latitud]
}
di mana jenis mewakili jenis lokasi geografi, yang boleh menjadi Point, LineString, Poligon tunggu. koordinat mewakili longitud dan latitud, diwakili oleh tatasusunan.
Apabila menyimpan data geolokasi, kita boleh menggunakan contoh kod berikut:
// Sambung ke pangkalan data MongoDB
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb://localhost:27017/ mydatabase ";
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
// Dapatkan rujukan kepada pangkalan data dan koleksi
const db = client.db("mydatabase") ;
koleksi const = db.collection("lokasi");
//Menyimpan data lokasi geografi
lokasi const = {
type: "Point", coordinates: [longitude, latitude]
};
collection.insertOne(lokasi, (err, hasil) => {
if (err) throw err; console.log("地理位置数据已成功存储");
});
});
// Pertanyaan lokasi geografi berdekatan
lokasi konst = {
taip: "Titik",
koordinat: [longitud, latitud]
};
pertanyaan const = {
lokasi: {
}
};
collection.find(query).toArray((err, results) => {
if (err) throw err;
console.log("Lokasi geografi berdekatan ialah: ", hasil );
});
Dalam contoh kod di atas, kami menggunakan operator $near untuk menanyakan objek data yang paling hampir dengan lokasi geografi tertentu dan $maxDistance mewakili jarak maksimum hasil pertanyaan.
// Tambah indeks lokasi geografi
collection.createIndex({ location: "2dsphere" }, (err) => {
if (err) throw err;
console.log( "Geografi Indeks lokasi telah berjaya dibuat");
});
Dalam kod di atas, kami mencipta indeks lokasi geografi dengan menyatakan jenis indeks sebagai 2dsphere.
Ringkasan
Melalui langkah di atas, kita boleh menggunakan MongoDB untuk membangunkan sistem aplikasi berdasarkan lokasi geografi. Pertama, kita perlu memasang MongoDB dan mengkonfigurasi persekitaran pembangunan, kedua, kita boleh menggunakan format GeoJSON untuk menyimpan data lokasi geografi kemudian, kita boleh menggunakan fungsi pertanyaan lokasi geografi MongoDB untuk mendapatkan lokasi geografi yang berdekatan; , kami Adalah mungkin untuk menambah indeks pada medan geolokasi. Saya harap artikel ini dapat membantu pembaca memberikan panduan semasa membangunkan aplikasi geolokasi menggunakan MongoDB.
Atas ialah kandungan terperinci Cara menggunakan MongoDB untuk membangunkan sistem aplikasi berasaskan lokasi geografi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!