Mongo Java Driver find method deprecated
By : user10070
Date : March 29 2020, 07:55 AM
this one helps. You can set the read preference on multiple levels: the client, the database, the collection and finally on individual query. If you set the read preference on the MongoClient with code :
mongoClient.setReadPreference(secondary());
collection.setReadPreference(primary());
|
Upgrading mongo search from runCommand to find using Java driver
By : Aditya Diwakar
Date : March 29 2020, 07:55 AM
I hope this helps . I found this interesting page: http://api.mongodb.org/java/current/it appears that find can take a second DBObject which has the fields. code :
BasicDBObject fields = new BasicDBObject();
fields.append("score", new BasicDBObject("$meta", "textScore"));
DBCursor cursor = coll.find(query, fields);
|
How can I do this search db.collection.find( { foo: /^bar$/i } ); on mongo but using Mongo Java Driver
By : user3035074
Date : March 29 2020, 07:55 AM
it should still fix some issue I 'm trying to make a case insensitive query in mongodb using java driver. I have a string for example "abcdef" in a field named foo when I search for "abc" the search must return empty, but it always return the element that contains "abcdef". , You can use Pattern like ^(abc) E.g. code :
Pattern compile = Pattern.compile("^(abc)", Pattern.CASE_INSENSITIVE);
|
Mongo 3.2 Java Driver - Find & Count Operations
By : bwalter
Date : March 29 2020, 07:55 AM
I think the issue was by ths following , Basically, you have two different cases: (a) Iterate through the collection, and be ready for every number of results. This is where you use find and the FindIterable which you declared in your question. code :
col.count(<whateverfilter>)
|
Save List of interface objects using mongo driver for java
By : MotherEarth
Date : March 29 2020, 07:55 AM
Hope this helps I have a POJO that has a list of Resources which is the interface of ResourceType1 and ResourceType2 code :
public class MongoInterfaceTest {
private static MongoClient mongoClient;
static {
init();
}
public static void init() {
try {
ClassModel<User> userClassModel = ClassModel.builder(User.class).enableDiscriminator(true).build();
ClassModel<JavaUser> javaUserClassModel = ClassModel.builder(JavaUser.class).enableDiscriminator(true).build();
ClassModel<PythonUser> pythonUserClassModel = ClassModel.builder(PythonUser.class).enableDiscriminator(true).build();
ClassModel<TestUser> testUserClassModel = ClassModel.builder(TestUser.class).enableDiscriminator(true).build();
CodecRegistry pojoCodecRegistry = CodecRegistries.fromRegistries(
MongoClientSettings.getDefaultCodecRegistry(),
CodecRegistries.fromProviders(
PojoCodecProvider.builder()
.register(
userClassModel,
javaUserClassModel,
pythonUserClassModel,
testUserClassModel
)
.automatic(true)
.build()
)
);
mongoClient = MongoClients.create(
MongoClientSettings.builder()
.codecRegistry(pojoCodecRegistry)
.applyConnectionString(new ConnectionString(ApplictaionConfig.MONGODB_URL))
.applyToConnectionPoolSettings(builder -> {
builder.minSize(10);
})
.build()
);
} catch (Exception e) {
System.out.println("Connection mongodb failed");
throw new RuntimeException();
}
}
public static void main(String[] args) {
MongoCollection<TestUser> collection = getMongoCollection("TestUser", TestUser.class);
JavaUser javaUser = new JavaUser("a");
PythonUser pythonUser = new PythonUser("b","1");
TestUser testUser = new TestUser(javaUser.name, javaUser);
insertOne(collection, testUser);
testUser = new TestUser(pythonUser.name, pythonUser);
insertOne(collection, testUser);
Bson bson = Filters.and(Filters.eq("name", "a"));
TestUser testUser1 = findFirst(collection, bson);
System.out.println(testUser1);
System.out.println(testUser1.user.dev());
bson = Filters.and(Filters.eq("name", "b"));
testUser1 = findFirst(collection, bson);
System.out.println(testUser1);
System.out.println(testUser1.user.dev());
}
/**
* 获得collection对象
*/
public static <T> MongoCollection<T> getMongoCollection(String collectionName, Class<T> tClass) {
MongoDatabase mongoDatabase = mongoClient.getDatabase("kikuu");
MongoCollection<T> collection = mongoDatabase.getCollection(collectionName, tClass);
return collection;
}
public static <T> void insertOne(MongoCollection<T> collection, T document) {
insertMany(collection, Lists.newArrayList(document));
}
public static <T> void insertMany(MongoCollection<T> collection, List<T> documents) {
collection.insertMany(documents);
}
public static <T> T findFirst(MongoCollection<T> collection) {
return (T) collection.find().first();
}
public static <T> T findFirst(MongoCollection<T> collection, Bson bson) {
return (T) collection.find(bson).first();
}
public static interface User {
String dev();
}
public static class JavaUser implements User{
public String name;
public JavaUser() {
}
public JavaUser(String name) {
this.name = name;
}
@Override
public String dev() {
return "java";
}
@Override
public String toString() {
return "JavaUser{" +
"name='" + name + '\'' +
'}';
}
}
public static class PythonUser implements User{
public String name;
public String age;
public PythonUser() {
}
public PythonUser(String name, String age) {
this.name = name;
this.age = age;
}
@Override
public String dev() {
return "python";
}
@Override
public String toString() {
return "PythonUser{" +
"name='" + name + '\'' +
", age='" + age + '\'' +
'}';
}
}
public static class TestUser {
public String name;
public User user;
public TestUser() {
}
public TestUser(String name, User user) {
this.name = name;
this.user = user;
}
@Override
public String toString() {
return "TestUser{" +
"name='" + name + '\'' +
", user=" + user +
'}';
}
}
}
|