gpt4 book ai didi

mongodb - 社交游戏 map 图 block 存储

转载 作者:可可西里 更新时间:2023-11-01 10:06:00 25 4
gpt4 key购买 nike

我正在为一款社交游戏开发原型(prototype),我使用 mongodb 作为存储引擎。我想知道在 mongo 集合中存储具有关联(状态/类型等)图 block 的 map 图 block 是否是一种好方法。

map : { 0: { type : grass, state: harvest, last_action_date : 2012-01-12 } 1: { ... } .... 44 : { ...} }

也许平面文件应该更好?我不知道将瓦片 map 存储在像 mongo 这样的数据库中的最佳做法。

这样我就可以通过一个请求获取所有 map 图 block 以及与图 block 关联的所有状态...(每个图 block 都使用一个数字进行索引,该数字允许确定图 block 的 X/Y 坐标)

有人在mongodb中使用这种系统吗?

谢谢!

最佳答案

Mongo 中的数据结构应取决于您需要如何写入、访问和/或修改该数据。将整个 map 作为子文档的双数组放在一个文档中可能是有意义的(仅适用于小 map )。也许将 map 的每个图 block 存储为单个文档更有意义(这似乎更有可能)。

如果您将图 block 存储为单独的文档,然后给它们一个公共(public)键,如“map: 'map1'”,这样您就可以一次拉出整个 map 。同时,将图 block 存储为单独的文档的好处是您无需一次加载整个 map 。而是给每个图 block 一个公共(public)键,如“map1”(这样您就可以在同一个集合中存储多个 map ),包括一个 x 和 y 坐标(假设是 2d 空间),并在这三个字段上创建一个唯一索引。有了它,您可以随时快速高效地仅拉回您需要使用的图 block ,并从内存中删除当前计算或演示不需要的图 block 。

关于mongodb - 社交游戏 map 图 block 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11633012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com