MongoDB CRUD操作:地理位置查询中的GeoJSON对象
// 引入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('geoData');
// 创建GeoJSON对象
const geoJsonPoint = {
type: "Feature",
properties: {
name: "Sample Point"
},
geometry: {
type: "Point",
coordinates: [24.97, 60.17]
}
};
// 插入GeoJSON对象
collection.insertOne(geoJsonPoint, function(err, result) {
if(err){
console.log('插入失败', err);
return;
}
console.log('插入成功', result.insertedId);
// 查询附近的地点
collection.find({
geometry: {
$nearSphere: {
$geometry: {
type: "Point",
coordinates: [24.97, 60.17]
},
$maxDistance: 1000 // 1000米
}
}
}).toArray(function(err, results) {
if(err){
console.log('查询失败', err);
return;
}
console.log('附近地点:', results);
// 关闭数据库连接
client.close();
});
});
});
这段代码首先创建了一个MongoDB客户端实例,然后连接到本地的MongoDB服务器。接着,它选择了一个数据库和集合,并定义了一个GeoJSON对象。然后,它插入了这个对象到集合中,并查询了一个特定位置附近的地点。最后,它关闭了数据库连接。这个过程展示了如何在MongoDB中进行GeoJSON数据的基本CRUD操作。
评论已关闭