В официальном документе есть раздел об «защите» . Похоже, вы должны использовать upsert()
или findAndModify()
на MongoTemplate
.
В качестве альтернативы, вы можете просто сделать find()
, внести изменения в возвращаемый объект, а затем сделать save()
.
Я пошел бы с Подверсией, локальный репозиторий может быть очень легкой установкой с TortoiseSVN.
Чтобы иметь интеграцию IDE для управления наиболее распространенными действиями, я действительно рекомендую Вам AnhkSVN, Подверсия Поставщик SourceControl для Visual Studio.
Я неравнодушен к Sourcegear, ну, в общем, потому что, именно это я использую :-). Это свободно для одного разработчика и интегрируется хорошо с Visual Studio.
Другим хорошим вариантом является Подверсия.
Я нахожусь в аналогичной ситуации и имею сервер подготовки, который имеет Сервер VisualSVN на ней, и я использую TortoiseSVN на своей машине разработки.
Я также использую VisualSVN для получения интеграции с Visual Studio, но Вы не можете потребовать этого.
Я также рекомендовал бы фиксировать несколько раз в день. Не принимайтесь минимальное расписание, но пытайтесь фиксировать после завершения каждой части функциональности или в том, что Вы считаете незначительным этапом в Ваш день.
Я не уверен, что лучший - слишком существует много свободных для выбора из.
Проверьте тех перечисленных на Википедию
На моих проектах я обычно использую Подверсию. Его легкое, чтобы настроить и использовать.
Я использовал Визуальный Источник, Безопасный..., но я нашел, что Подверсия намного лучше...
Я услышал хорошие отчеты о Мерзавце..., но так как я никогда не использовал его, я не могу действительно дать Вам рекомендацию.
В конечном счете его польза, чтобы видеть, что Вы хотите использовать VCS, поскольку это - определенно методические рекомендации. Я утверждал бы, что использование любого VCS лучше, чем использование никакого VCS.
Но что касается которого является лучшим? Ну, вероятно, только можно решить это на основе потребностей и уровня опыта. Считайте рекомендации сделанными людьми на этом сайте, но физически попробуйте некоторых сами и решитесь.
Я использовал бы По необходимости. Это свободно для отдельных проектов.
Базар является хорошим вариантом. Его более простое для установки, чем Подверсия, По необходимости или CVS и никакой серверный компонент требуется. Работы одинаково хорошо над Windows, Mac или *отклоняет. Я не использовал SourceGear, но я полагаю, что он использует подобную клиент-серверную модель для подверсии. Это будет обсуждено, но я нахожу, что интерфейс командной строки более прост, чем Мерзавец, но возможно это - просто я. Нет никакой интеграции с VisualStudio, но быть честной за возможным исключением AnkSvn, я должен все же видеть что-либо, что делает это хорошо. Если можно иметь дело с использованием командной строки время от времени нет ничего более простого.
После того как Базар установлен - использование, это с Вашим существующим кодом - простое как:
cd mycode # base directory of your source tree
bzr init .
bzr add * # recursively adds your source tree
bzr commit -m "first commit ! "
И Вы сделаны. Затем - принятие у Вас был файл foo.c в том каталоге, который Вы могли сделать:
bzr log foo.c
------------------------------------------------------------
revno: 1
committer: me<me@MYHOST>
branch nick: tmp2
timestamp: Wed 2009-01-21 16:59:55 +0900
message:
first commit
Теперь отредактируйте свой код как нормальный и каждый раз, когда Вы готовы фиксировать изменение выполненная фиксация bzr снова.
Посмотрите страницу Tutorial для немного больше подробно введение.
Это также идет с некоторыми полезными инструментами как bzr-svn, который можно использовать для импорта локального Базара repo в репозиторий Подверсии при сохранении полной истории. Таким образом, мой Работодатель использует Подверсию, но я использую Базар на своей локальной машине для маленьких тестовых приложений и служебных сценариев. затем, если существует когда-нибудь потребность добавить их к официальному репозиторию работы затем, это хорошо и легко.
Хранилище SourceGear является большим и да, это все еще свободно для персонального использования.
SVN является большим инструментом, который интегрируется хорошо с окнами и VS. Загрузите TourtisSVN. Я использую
http://ankhsvn.open.collab.net/
Как плагин VS.
Действительно легко начать с SVN, и это действительно помогает; особенно, когда Вы помещаете его на веб-сервер так, чтобы можно было синхронизировать код между всеми компьютерами независимо от того, где Вы.
Представление SVN или МЕРЗАВЦА (или любой другой инструмент) в Ваш рабочий процесс имеет свои собственные издержки и иногда извлекает выгоду, не перевешивают издержки.
Так или иначе, если Вы уже делаете полные копии исходного кода каждый день, у Вас уже есть управление исходным кодом.
Если Вы не уверены, нужен ли Вам профессиональный инструмент управления исходным кодом как SVN или МЕРЗАВЕЦ, Вам не нужен он.
Добавьте еще один для SVN. Это потрясающе.
Вы ДОЛЖНЫ использовать TortoiseSVN для клиента. (Ну, могут быть и другие клиенты), а для интеграции IDE я использовал и AnkhSVN, и VisualSVN. VisualSVN НАМНОГО лучше для интеграции IDE IMO ... но это не бесплатно. (Но это дешево .) Для меня, если бы я не мог использовать VisualSVN, я бы, вероятно, вообще отказался от интеграции IDE и просто использовал Tortoise.
Как и другие, хорошо для вас, когда вы выполняете одиночный контроль источника. Я работал соло 10 лет без этого и не знаю, как мне это удалось.
Сет