Как стать автором
Обновить

Комментарии 22

НЛО прилетело и опубликовало эту надпись здесь
С миграцией откуда?
Удалить свойство fieldName у всех объектов в коллекции collectionName (из консоли Mongo):
db.collectionName.update({}, {$unset: {fieldName: 1}}, false, true);
Кстати, следовало бы разделить операции, которые нужно выполнять из кода и операции, которые относятся к обслуживанию/администрированию. Например, ensureIndex() – 10gen категорически не рекомендует делать этот вызов из приложения.
А чем мотивируют?
А тем что будут появляться статьи типа «почему в пхпмайадмине при drop только один раз спрашивают какую таблицу грохнуть»

И вообще KISS для веб приложений — святой грааль
Юзаю MongoDB.Driver. Выборки произвожу так:
    public IEnumerable<T> Find(Func<T, bool> predicate)
    {
      IEnumerable<T> items = _collection.FindAllAs<T>().Where(predicate);
      return items;
    }

Есть вариант юзать QueryWrapper:
         IEnumerable<CustomMongoQuery> itemsToRemove =
        existsNotification.Select(n => new CustomMongoQuery {Id = n.Id});
      MongoNotificationsService.Remove(itemsToRemove);

Здесь public class CustomMongoQuery : IMongoQuery
  {
    public CustomMongoQuery()
    {
      
    }
    public CustomMongoQuery(ObjectId id)
    {
      Id = id;
    }
    public ObjectId Id { get; set; }
  },

    public void Remove(IEnumerable<IMongoQuery> items)
    {
      foreach (var item in items)
      {
        _collection.Remove(item);
      }
    }


* This source code was highlighted with Source Code Highlighter.


Имхо, полная поддержка интеллисенса + Linq для построения выражений для выборок будет получше cnhjrjds[ названий пропертей…
Если честно, то я не до конца понял, что имелось ввиду под «строковые названия пропертей». Если это по поводу «Articles» — то это название collection. Можно его определить через атрибуты в объявлении класс Articles, и пользоваться в MongoDBContext (мой wrapper). Но как бы речь не об этом в статье.
var cursor = collection.Find(Query.EQ(«IsDeleted», false"));
А есть ли хостеры, где уже можно в качестве базы использовать MongoDb? Или мне достаточно будет запустить на сервере нужные файлы MongoDb и дальше смогу работать с этой базой. Если так, то что случится, когда кто то другой на этом же сервере решит запустить сервер mongoDb?
можно захостить БД в облаке
mongohq.com/home

Для прощупывания вполне подходит, а потом только у себя
В Mongo есть еще очень важная штука: SafeMode. Эта опция релевантна только при записи в базу данных. По умолчанию она отключена. Это грозит тем, что если при записи в базу у вас выскочит исключение — вы его не увидите, так как драйвер не будет ждать ответа с сервера после команды на запись. Так как данная опция создает определенный оверхед, рекомендуется включать её для важной информации (аккаунты пользователей, контент и т.д.) и отключать для «не очень» важной (логи, статистика и т.д.).
НЛО прилетело и опубликовало эту надпись здесь
Это не реклама но сходу только один ответ
habrahabr.ru/blogs/aspnet_mvc/127290/#comment_4201950
даете доступ к своей базу и управляете ею через веб-интерфейс на этом сервисе, но вообще лучше консоль, она еще знающего человека ни разу не подводила.
А можно нормальную ссылку? Или вы и хотели на свой пост сослаться?
Masterkey, по-видимому, имел ввиду эту ссылку: mongohq.com/home
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Тесты производительности поразили! Интересно, с увеличением количества полей в запросе разрыв в производительности Mongo и SqlServer останется такой же?
Насколько я заметил, количество полей не влияет на скорость. Вы еще попробуйте при запросе получать не весь объект, а только нужные поля — поразитесь.
Тут наткнулся на статью, в которой автор не рекомендует использовать Mongo DB для серьезных приложений (например, для банков)
pastebin.com/raw.php?i=FD3xe6Jt
Кто-нибудь что-нибудь может сказать в качестве комментариев к данной статье?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории