Дима
например 3-й
Дима
вот и хочу искать в такм ключе {_id: 3}
Дима
find({_id: ObjectId("uuid_string")});
Т.е. мне надо указывать полный _id например 5a55bede5811571afba5f918
Дима
У меня REST приложение, поэтому и хочу чтобы на запрос posts/1 - выдавал первый пост из коллекции и т.д.
Alexander
ну так пусть будет posts/5a55bede5811571afba5f918
Alexander
ну и вы под первым постом из коллекции имеете в виду пост с ID 1, верно же?
Дима
да
Дима
Просто привык к Mysql, sqlite. Я просто дергал по id и все
Alexander
ну я бы переезжал на uuid, чтобы не задумываться об инкременте айдишников
Alexander
ну тут просто дергать по uuid )
Alexander
вместо привычной цифры будет строка с uuid
Alexander
это так поначалу )
Alexander
потом уже проще
Nick
Просто привык к Mysql, sqlite. Я просто дергал по id и все
начинайте отвыкать сразу, и можете забыть про автоинкрементальные поля
Дима
сурово, буду отвыкать )
Alexander
в качестве основы ObjectId идет юид же
Alexander
точнее uuid подобная строка
yopp
UUID и ObjectId это две абсолютно разные вещи.
yopp
В них общего только то, что они для идентификации используются.
eshch
ну еще оба генерятся на клиентах распеделенной системы
yopp
Монга может тебе сама ObjectId присваивать, если ты _id не передашь.
eshch
может
Дима
Как можно отрендерить коллекцию из mongodb во view express?
Дима
Рендер статьи по uuid без проблем, т.к. он один
Nick
тебе в чат по ноде
Nick
или около того
Дима
Ок, спасибо
Danil
А уже был пост про потерю производительности в связи с патчами для meltdown? ) редис хорошо был оптимизирован под спекулятивное выполнение, процентов 30-40 потерял
Anonymous
вопрос нуба в mongo - drop database - удалить базу данных? почему такое странное название? почему не просто remove?
Ruslan
чтобы свой-чужой делать быстро
yopp
вопрос нуба в mongo - drop database - удалить базу данных? почему такое странное название? почему не просто remove?
Две разные команды. Drop удаляет и данные и метаданные, а remove удаляет только данные.
yopp
Да. В случае с remove останутся и индексы и все прочие настройки.
yopp
рассылка была, писали про 10-15%.
У всех по своему будет.
tenni
это понятно
yopp
Но хорошая новость что у монги не udp
Vladimir
Добрый вечер. Кто-нибудь сталкивался с такой ошибкой? motorengine.errors.LoadReferencesRequiredError: The property 'creator_id' can't be accessed before calling 'load_references' on its instance first (Campaign) or setting __lazy__ to False in the Campaign class.
yopp
Ваш ODM сломался где-то
yopp
Судя по сообщению где-то атрибут на связанной модели вызывается раньше чем сама модель загружена
yopp
Вероятно кто-то пытается обратится к модели создателя которая связанна через creator_id с Campaign, но по какой-то причине это происходит раньше запроса в монгу. Или у campaign значение creator_id отсутствует например.
Vladimir
Значение присутствует. Видимо обращается раньше чем запрос в монгу успевает. Но делать второй запрос не очень хорошая идея.
yopp
Но это к вашему ODM или языку вопрос. Даже не представлю что это. Питон?
Vladimir
Питон
Vladimir
motorengine
yopp
Ну если у вас не вложенная модель, то как вы ещё связанный документ получите?
yopp
Конечно нужно делать второй запрос
Alexander
ну вон там про некий атрибут lazy сказано то есть наверное можно сделать ленивую загрузку
Alexander
в классе Campaign
Vladimir
Пробовал - не помогает(
Alexander
но выше правильно описали, если коллекция не вложенная - надо делать второй запрос
Vladimir
Спасибо за помощь
Igor
Всем привет. Хочу делать приложение на 2к пользователей. Выбираю между PostgreSQL и MongoDB. С монго знаком мало. В базе будут связи типа Many-to-Many но как я прочел монго хранить их немного в другом формате. Подскажите, рационален ли мой выбор в качестве монго как БД такого приложения? Из-за моего незнания мне трудно утвердительно ответить на этот вопрос, по этому хочу получить ваш совет. Благодарю
yopp
Что больше знакомо и на чём быстрее разработка будет, то и надо использовать.
Igor
Что больше знакомо и на чём быстрее разработка будет, то и надо использовать.
Вот тут то как раз и хочется попробовать новое, современное.
yopp
Если это не для себя, а для бизнеса — лучше делать на чём быстрее можно проверить гипотезу
Igor
"... приложение на 2к пользователей ..." - а что означает 2k?
2000, пытался сократить текст и повыпендриваться что я такой весь современный
Stepan
Ну ето стандарт почти уже
Dmitry
У меня REST приложение, поэтому и хочу чтобы на запрос posts/1 - выдавал первый пост из коллекции и т.д.
можно сортировать и выдавать последний db.collection.find(<query>).sort().limit(1) смотря что подразумевается под «первый пост из коллекции»
Anonymous
гайз, а что означает буковка _v?
yopp
Всё что угодно.
eshch
неужели имя поля
yopp
Но скорее всего версия документа
Anonymous
Всё что угодно.
если я хорошо помню - это счетчик записей в данном поле(документе)?
Anonymous
0 - это впервые была произведена запись?
yopp
Это всё что угодно может быть. Это вопрос к тому, что это поле записывает.
yopp
Часто такое соглашение используют для optimistic locking
Anonymous
ладно, в моем случае это к делу не относится - просто хотел уточнить вопрос благодарю )
Maksim
День добрый, с праздниками. Пытаюсь решить странную задачу, может кто может помочь, ибо получить ответ в гугле мне не удалось.
Maksim
Вечно ты со своими умными ссылками )
yopp
Stable: 3.6.2 (Jan 10, 2018), Bugfix: 3.4.10 (Oct 31, 2017) 3.6.2: https://docs.mongodb.com/manual/release-notes/3.6/#january-10-2018 3.4.10: https://docs.mongodb.com/manual/release-notes/3.4/#oct-31-2017 3.2.18: https://docs.mongodb.com/manual/release-notes/3.2/#nov-29-2017
Maksim
value = get_db()["xxx"].with_options( read_preference=ReadPreference.SECONDARY_PREFERRED).aggregate([ {"$unwind": "$interfaces"}, {"$lookup": {"from": "noc.interfaces", "localField": "interfaces", "foreignField": "_id", "as": "int"}}, {"$group": {"_id": "$int.managed_object", "method": {"$push": {"method":"$discovery_method"}}}} ]) есть такого рода запрос, который отдает { "_id" : [ NumberInt(11758) ], "method" : [ { "method" : "lldp" }, { "method" : "lldp" }, { "method" : "lldp" }, { "method" : "lldp" }, { "method" : "lldp" }, { "method" : "lldp" }, { "method" : "lldp" }, { "method" : "lldp" }, { "method" : "lldp" }, { "method" : "lldp" }, { "method" : "lldp" }, { "method" : "description" }, { "method" : "description" } но хотелось бы так же сгруппировать и посчитать сами эти методыю
Maksim
вроде как можно юзать еще group, но как правильно его собрать не понял,.
Maksim
_id: {moid: int, method: string}, count: {$sum: 1}
это будет второй group?