1

如何仅在整数中使用 mongodb 中的地理索引?(就像一个有瓷砖的游戏板)

use geoTest
db.tiles.remove()
db.tiles.dropIndexes()
db.tiles.ensureIndex({"tiles": "2d"}, {min:-1000000000000000000, max: 1000000000000000000})
db.tiles.insert({id: "1234", tiles: [[10, 10], [20, 20]]})
db.tiles.insert({id: "1234", tiles: [1000000, 1000000]})
db.tiles.find({tiles: {$within:{$box:[[11,11],[20,20]]}}})
db.tiles.find({tiles: {$within:{$box:[[11,11],[10000000,1000000]]}}})

但这会像这样保存图块:10.0 而不是 10。

  • 这会有性能问题还是我不​​应该关心这个?
  • 索引中有这么大的间隔是不是很糟糕?{最小值:-1000000000000000000,最大值:1000000000000000000}
  • 在某处tiles: [[10, 10], [20, 20]]和其他地方使用tiles: [1000000, 1000000]可能会导致性能问题,或者可以吗?(注意第一个有 2 个位置,第二个有一个位置)
4

0 回答 0