Может ли MongoDB испортить данные, если они находятся в БД - PullRequest
0 голосов
/ 03 апреля 2012

Я использую MongoDB с библиотекой отображения Morphia Object-2-Document.У меня сложилось впечатление, что Morphia использует режим «Журнал» и, следовательно, использует транзакции для хранения / извлечения данных, подразумевая, что надежность не должна быть проблемой.

У меня никогда не было проблем, кроме одного поля (для всехдокументы) имеет эту бессмысленную ценность •••••.Когда я смотрю в БД, она выглядит пустой.

Может ли Монго это сделать с моими данными, или мне нужно искать проблему в другом месте.

Ответы [ 2 ]

2 голосов
/ 03 апреля 2012

У меня сложилось впечатление, что Morphia использует режим "Журнал" и поэтому использует транзакции для хранения / извлечения данных, подразумевая, что надежность не должна быть проблемой

Режим «Журнал» будет означать, что Morphia модифицирует MongoDB и ждет, пока MongoDB записывает эти данные в журнал, прежде чем вернуться.

MongoDB выполняет атомарные обновления для отдельных документов. Тем не менее, он не поддерживает транзакции. Таким образом, если вы сохраняете объект Morphia, в котором есть три разных коллекции, здесь не будет никакой «начальной транзакции» или «отката».

У меня никогда не было проблем, но одно поле (для всех документов) имеет эту бессмысленную ценность ...

Это обычно включает в себя либо двоичные данные, либо неправильно закодированную строку (зависит от того, где вы видите бессмысленные данные). Неверные данные в MongoDB будут вызывать исключения, поэтому MongoDB явно считает, что у них правильные данные.

2 голосов
/ 03 апреля 2012

Базы данных созданы для хранения данных, а не для их изменения при вставке. Так что, скорее всего, это не mongoDB.

Бессмысленные значения в базах данных обычно имеют отношение к кодировке символов. Проверьте, совпадает ли ваша кодировка для вашего приложения и базы данных mongoDB.

...