小编Arc*_*hie的帖子

如何克隆 BSON 文档(类似于 Json)?

然而,对于我的项目,当新用户注册时,我将创建一个新的 BSON 文档(用于 MongoDB),而不是创建一个新的 BSON 文档并附加每个新用户的所有默认值(例如创建一个新文档,附加0到所有统计数据,例如游戏时间、杀戮、死亡、胜利、失败),我决定创建一个文档模板,其中包含所有这些默认值,希望克隆该模板并插入新用户名、ID和地址- 这样会更有效率。

private static Document getDefaultPlayerDocument() {
    Document player = new Document();
    player.append(DBKey.PLAYTIME.getKey(), 0);
    player.append(DBKey.LASTSEEN.getKey(), "Online");
    player.append(DBKey.RANK.getKey(), Group.DEFAULT.asString());
    player.append(DBKey.EXPIRY.getKey(), "null");
    player.append(DBKey.KILLS.getKey(), 0);
    player.append(DBKey.DEATHS.getKey(), 0);
    player.append(DBKey.WINS.getKey(), 0);
    player.append(DBKey.LOSSES.getKey(), 0);
    player.append(DBKey.SCORE.getKey(), 0);
    return player;
}
Run Code Online (Sandbox Code Playgroud)

这是创建默认文档的代码,该文档已存储。

但是,我正在寻找一种在需要时克隆此文档的方法,例如

新用户加入,ID:5,名为 Archie,创建了模板的克隆,名称更改为 Archie,Id 更改为 5。

我尝试查看 .clone() 方法,但似乎不存在。

有什么帮助吗?

java clone document mongodb bson

2
推荐指数
1
解决办法
2263
查看次数

将朋友列表实现到数据库的最佳方法?MySQL

所以我的项目有一个“朋友列表”,并且在 MySQL 数据库中我创建了一个表:

姓名A

姓名B

主键(名称A,名称B)

这将导致大量条目,但为了确保我的数据库标准化,我不确定还有什么方法可以实现这一点?

我的项目也使用Redis..我可以将它们存储在那里。

当一个人加入服务器时,我必须搜索所有条目,看看他们的名字是nameA还是nameB,然后将这两个名字放在一起作为好友,这也可能效率低下。

干杯。

java mysql sql redis

0
推荐指数
1
解决办法
1155
查看次数

标签 统计

java ×2

bson ×1

clone ×1

document ×1

mongodb ×1

mysql ×1

redis ×1

sql ×1