我在Java Spring项目中有以下Mongo配置:
@Configuration
public class MongoConfiguration {
public static int allocateRandomPort() {
try {
ServerSocket server = new ServerSocket(0);
int port = server.getLocalPort();
server.close();
return port;
} catch (IOException e) {
throw new RuntimeException("Failed to acquire a random free port", e);
}
}
@Bean
public Mongo mongo() throws IOException {
System.setProperty("DB.TRACE", "true");
return new EmbeddedMongoBuilder()
.version("2.6.0")
.bindIp("127.0.0.1")
.port(allocateRandomPort())
.build();
}
}
要使用Querydsl Mongodb模块开始构建查询,documentation表示:
Morphia morphia;
Datastore datastore;
// ...
QUser user = new QUser("user");
MorphiaQuery<User> query = new MorphiaQuery<User>(morphia, datastore, user);
我对如何创建MorphiaQuery类的实例没有任何想法。 Datastore
对象应该是一个注入Mongo实例吗? Morphia
对象怎么样? Other tutorials我发现在线创建实例为:
Morphia morphia = new Morphia()
.map(Book.class, Author.class, Tag.class);
我想在Spring Data MongoDB repository
内构建查询。在某个地方有一个功能齐全的例子吗?
感谢。
答案 0 :(得分:1)
Morphia和Spring Data Mongodb是Querydsl Mongodb的替代对象映射器。 Querydsl本身与Morphia集成捆绑在一起,对于Spring Data Mongodb,您需要参考references docs进行设置。