我在 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
对象应该是注入(inject) Mongo 实例吗?那么 Morphia
对象又如何呢? Other tutorials我发现在线创建实例为:
Morphia morphia = new Morphia()
.map(Book.class, Author.class, Tag.class);
我想在 Spring Data MongoDB 存储库
中构建查询。某处有功能齐全的示例吗?
谢谢。
最佳答案
Morphia 和 Spring Data Mongodb 是 Querydsl Mongodb 的替代对象映射器。 Querydsl 本身与 Morphia 集成捆绑在一起,对于 Spring Data Mongodb,您需要引用 references docs进行设置。
关于java - Querydsl 与 MongoDB 的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29349303/