我开始使用 MongoDB API,因为我们使用的是 Azure Cosmos DB。在 MongoDB 中使用 $near 的示例,其基本结构为 {key:"A": localtion:{type:"Point", coordinates:[1,2]}},效果很好。问题是当我需要使用位置数组时。
我正在尝试执行此查询而没有结果。我在做什么坏事?
db.places.insert( {
id:1,
name: "AAAAAAAAAAA",
locals:[
{
location: { type: "Point", coordinates: [-73.9928, 40.7191 ] },
}
],
category: "Parks"
} );
db.places.insert( {
id:2,
name: "BBBBBBBBBBB",
locals:[
{
location: { type: "Point", coordinates: [-73.9928, 40.7193 ] },
}
],
category: "Parks"
} );
db.places.insert( {
id:3,
name: "CCCCCCCCCCCCC",
locals:[
{
location: { type: "Point", coordinates: [ -73.9375, 40.8303 ] },
}
],
category: "Parks"
} );
//Create index
db.places.createIndex({ "locals.location" : "2dsphere" })
//Query without result
db.places.find(
{
"locals.location":
{ $near:
{
$geometry: { type: "Point", coordinates: [ -73.9375, 40.8303 ] },
$minDistance: 1000,
$maxDistance: 5000
}
}
}
)
这些地方有很多当地人,这就是为什么我可以在里面放很多东西。
我希望有一个人可以帮助我。
干杯。