我是Java的新手,我正在编写代码来插入一个用户类到MongoDB,并根据唯一的用户ID检索数据。为此,我想将userID设置为唯一值,同时将我的类user插入MongoDB。
我的代码片段
我有一个用户类,有成员
{
String userID,
String Name, etc
}
我的add user函数与db(作为MongoDatabase示例注入)看起来像
public String addUser(User user){
...
MongoCollection<User> userCollection = db.getCollection(<collection_name>, User.class);
我使用MongoCollectioninterface来允许类作为数据。根据其他Stackoverflow答案中提到的link,我尝试使用CreateIndex()方法,如下所示
userCollection.createIndex({"userID": 1 }, {unique : true});
...
}
但没有用。显示语法错误。
通过使用MongoCollection,这可能是可能的,但我想检查是否可以使用类。
1条答案
按热度按时间iqjalb3h1#
该语法似乎适用于MongoDb命令行。下面是MongoCollection类的javadoc:
https://javadoc.io/doc/org.mongodb/mongodb-driver-sync/latest/com/mongodb/client/MongoCollection.html
这看起来像是你要使用的:
所以
{"userID": 1 }
需要是一个Bson对象,而{unique : true}
需要是一个IndexOptions对象。编辑:
例如,类似于以下内容: