powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Lock в MongoDB
6 сообщений из 6, страница 1 из 1
Lock в MongoDB
    #38517880
snaff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем Ку.

Я начал использовать MongoDB. Хотелось бы хранить в ней коллекцию пользователей. Так вот, при создании нового пользователя я ищу по имени есть ли такой или нет и создаю, если нет. Есть ли возможность, с Java стороны залочить коллекцию перед поиском и отпустить ее после добавления. Порылся и интерентах, но ничего толкового не нашел.
Заранее спасибо
...
Рейтинг: 0 / 0
Lock в MongoDB
    #38517915
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваш вопрос возникает из-за того, то вы некорректно используете MongoDB. Это не транзакционная БД, здесь нельзя ничего локировать по определению. Если у вас возникает такая необходимость, значит вы либо что-то не понимаете, либо выбрали не ту СУБД.
Я не знаю всей кухни вашей задачи, но навскидку можно смотреть в сторону следующих методов:
- insert
- update c upsert флажком
- findAndModify
- поставить уникальный констрейнт на поле

Нужно помнить, что в MongoDB атомарность существует только на уровне изменений конкретного документа, не более.
...
Рейтинг: 0 / 0
Lock в MongoDB
    #38518251
snaff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Да, в первый раз использую noSQL DB, так что могу недопонимать концепции. Для своей задачи сасинхронизировал метод на стороне java. Вроде подошло решение
...
Рейтинг: 0 / 0
Lock в MongoDB
    #38518373
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
snaffСпасибо. Да, в первый раз использую noSQL DB, так что могу недопонимать концепции. Для своей задачи сасинхронизировал метод на стороне java. Вроде подошло решениеНу имейте ввиду, что такое решение является костылем, и будет работать до тех пор, пока с вашей базой работает только ваше приложение, и только из одной JVM.
Я бы вам все таки рекомендовал разобраться, как это сделать по уму в самой MongoDB.
...
Рейтинг: 0 / 0
Lock в MongoDB
    #38518394
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
snaffЯ начал использовать MongoDB. Хотелось бы хранить в ней коллекцию пользователей. Так вот, при создании нового пользователя я ищу по имени есть ли такой или нет и создаю, если нет. Есть ли возможность, с Java стороны залочить коллекцию перед поиском и отпустить ее после добавления. Порылся и интерентах, но ничего толкового не нашел.

В Монге есть update с указание "вставлять, если нет". Подробностей не помню- код на работе, из дома не достучусь.
...
Рейтинг: 0 / 0
Lock в MongoDB
    #38518643
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
snaff,

В качестве костыля можно использовать
http://zookeeper.apache.org/

А вообще, выбирайте какую-нибудь RDBMS и забудьте эту чепуху.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Lock в MongoDB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]