gpt4 book ai didi

java - DBObject 列表 - Mongo Java 驱动程序

转载 作者:行者123 更新时间:2023-11-30 04:01:39 24 4
gpt4 key购买 nike

我正在制作一款游戏,其中不同的多人服务器中有套件。玩家可以购买套件,并将其保存到 Mongo 数据库中。我希望数据库的格式如下:

{
"server": "the_server_name",
"players": {
{
"player": "the_players_username",
"kits": [
"kit1",
"kit3"
]
},
{
"player": "the_players_username",
"kits": [
"kit1",
"kit2"
]
}
}
}

我尝试过这样做,但没有成功。有人愿意为初学者提供一些如何实现这一目标的帮助吗?谢谢!

最佳答案

这是一个简单的例子:

import com.mongodb.*;

public class MongoTest {

public static void main(String[] args) throws Exception {
MongoClient mongoClient = new MongoClient("localhost", 27017);
DB db = mongoClient.getDB("myGameDB");
DBCollection gameCollection = db.getCollection("myGameCollection");
BasicDBObject obj = new BasicDBObject().append("sever", "the_server_name");
BasicDBList players = new BasicDBList();
BasicDBList list1 = new BasicDBList();
BasicDBList list2 = new BasicDBList();
list1.addAll(java.util.Arrays.asList(new String[]{"kit1", "kit2"}));
list2.addAll(java.util.Arrays.asList(new String[]{"kit1", "kit2"}));
BasicDBObject playerObj1 = new BasicDBObject("player", "the_players_username").append("kits", list1);
BasicDBObject playerObj2 = new BasicDBObject("player", "the_players_username").append("kits", list2);
players.add(playerObj1);
players.add(playerObj2);
obj.append("players", players);
gameCollection.insert(obj);
printCollectionContent(gameCollection);
}


static void printCollectionContent(DBCollection coll) {
BasicDBObject query = new BasicDBObject();
BasicDBObject fields = new BasicDBObject("server", true).append("_id", false).append("players",true);
DBCursor curs = coll.find(query);
while (curs.hasNext()) {
DBObject o = curs.next();
System.out.println(o.toString());
}
curs = coll.find(query, fields);
while (curs.hasNext()) {
DBObject o = curs.next();
System.out.println(o.toString());
}
}
}

顺便说一句,您的 json 实际上无效。 Players 似乎是一个数组,但缺少 [ ]

此示例使用2.11.3的驱动程序版本。该示例是为了向您展示如何使用驱动程序,异常处理省略。

关于java - DBObject 列表 - Mongo Java 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21847294/

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