MongoDB CRUD操作:地理位置查询
// 引入MongoDB客户端
const MongoClient = require('mongodb').MongoClient;
// 定义连接字符串和数据库名
const url = 'mongodb://localhost:27017';
const dbName = 'exampleDb';
// 创建新的MongoClient实例
const client = new MongoClient(url, { useUnifiedTopology: true });
// 连接到服务器
client.connect(function(err) {
if(err){
console.log('数据库连接失败', err);
return;
}
console.log('连接成功');
// 选择数据库
const db = client.db(dbName);
// 选择集合
const collection = db.collection('restaurants');
// 地理位置查询
// 查询2dsphere索引,以GeoJSON格式提供地理位置信息
collection.find({
location: {
$geoWithin: { $centerSphere: [ [ -73.9667, 40.78 ], 0.0001 ] } // 经度,纬度,半径(单位为圆周率)
}
}).toArray(function(err, docs) {
if(err){
console.log('查询失败', err);
return;
}
console.log('查询成功', docs);
// 关闭数据库连接
client.close();
});
});
这段代码展示了如何在MongoDB中进行地理位置查询。首先,它创建了一个MongoClient实例并尝试连接到数据库。连接成功后,它选择了数据库和集合,并执行了一个地理位置查询,查询在以指定经纬度为中心,半径为指定值的圆内的文档。查询结束后,它将文档数组打印到控制台,并关闭数据库连接。
评论已关闭