MongoDB лучшие практики - получение коллекций

1

Я новичок в Mongo, и мне было интересно, какие лучшие практики будут в плане доступа к коллекциям. Лучший способ объяснить это через sudo-код:

public class DBManager {
    private MongoClient mongoClient;
    private DBCollection collection;

    public DBManager() {
        mongoClient = new MongoClient( "127.0.0.1", 27017);
        collection = mongoClient.getDB( "DB" ).getCollection("collection");
    }

    public String add(String item) {
        if(collection!= null) {
            ObjectId id = new ObjectId();

            BasicDBObject insert= new BasicDBObject("_id", id)
                .append("item", item)
            collection.insert(insertRepo);
            return id.toHexString();
        }
        return null;
    }

    public boolean remove(String id) {
        if(collection!= null) {
            ObjectId id = new ObjectId(id);

            DBObject dbObject = collection.findOne(objectId);
            collection.remove(dbObject);
        }
        return false;
    }
}

Я не совсем понимаю, что происходит за кулисами, когда вы делаете "getCollection". Является ли хорошей практикой просто делать это один раз при инициализации или просто настраивать MongoClient в конструкторе, а затем получать коллекцию для каждого запроса?

Теги:
database

1 ответ

1
Лучший ответ

это прекрасно, чтобы сделать это в конструкторе. Еще лучше определить DBManager как singleton, так что коллекция будет инициализирована во время загрузки

Ещё вопросы

Сообщество Overcoder
Наверх
Меню