@MongoDBRussian

Страница 173 из 342
Dmitry
08.01.2018
11:39:24
я попробую преобразовать теги в обычный массив строк, на данном этапе я ничего не теряю, а дальше посмотрим

но тогда вопрос в догонку, как реагирует монга на смену _id у поддокумента? Например у меня есть {id: 1, title: 'apple'}, я меняю на {id: 2, title: 'apple'} ей придётся перестраивать индексы или как?

или вообще всё равно

или я загоняюсь над предварительной оптимизацией

Google
yopp
08.01.2018
11:41:49
id — immutable.

Можно только удалить старый документ и создать новый

Если не нужно искать по строке, всегда можно построить вторичный hashed индекс по title и использовать его.

А сколько вообще документов планируется сейчас?

Dmitry
08.01.2018
11:44:33
сейчас около тысячи документов в которых есть массив с тегами, в среднем 3-4 тега на документ

мало

планируется не больше десятка тысяч документов

yopp
08.01.2018
11:45:43
Тогда делайте так, как будет быстрее разрабатывать.

Dmitry
08.01.2018
11:46:18
верно, спасибо!

yopp
08.01.2018
11:47:05
Я бы остановился на массиве текстовых тегов

worsvch
08.01.2018
15:30:12
/

Oleg ?
09.01.2018
08:07:12
ребят привет. может кто рассказать про методы инкрементального бэкапа в монге. как делаете ?

Google
Старый
09.01.2018
08:15:37
остальное мазахизм

Sergey
09.01.2018
08:16:11
Реплика - это не бекап

Реплика - это реплика

Из реплики данные недельной давности ты не достанешь, при необходимости.

Zloy Dobriy
09.01.2018
08:26:58
jamshoot)

Max
09.01.2018
08:47:45
Никак. Hidden member + fs snapshot
мы тут у себя сделали типа —query "{XXX_time: {\$gte: ${DATE_FROM}, \$lte: ${DATE_TILL}}}" DATE_FROM и DATE_TILL заполняются за вчерашнее число понятно, что это одна коллекция, но может помочь, если в коллекции есть нужные данные к которым можно привязаться

yopp
09.01.2018
08:48:26
Это не инкрементальный бэкап. И вообще это очень сомнительный способ

Max
09.01.2018
08:50:17
я согласен но умнее не придумал У нас снапшот делается 1 раз в месяц, а вот тяжелая коллекция сохраняется таким образом, по $lte/$gte

дальше всё догоняется и после снапшота старые данные удаляются теоретически оно ж должно сработать при восстановлении базы - т.е. вливание пачки bson-ов по очереди приведет базу к нужному состоянию

yopp
09.01.2018
08:53:51
Инкрементальный бекап при должной сноровке можно сколхозить из оплога.

Всё остальное это уже экспорт на уровне приложения и тут надо быть крайне осторожным и иметь постоянную автоматическую верификацию.

Viktor
09.01.2018
08:56:01
По идее в 3.6 с changeStream'ами возможности поколхозить прибавится

Прибавилось*

Crazy
09.01.2018
10:36:08
Привет Парни! Возник вопрос с датой и временем, может кто то сталкивался или просто скажите свое мнение. У меня на сайте есть аналитика визитов страниц. У каждого человека есть страница. А в аналитике я должен выдавать сколько посещений было в конкретный день, чисто типо того: 01.02.17 без секунд и прочего. Понятно что можно хранить UTC в базе данных, но тогда для определения точной даты мне нужно будет хранить данные в секундах как минимум, это может достигать до 86,400 документов в mongodb, если каждую секунду страницу пользователя будут посещать. На данный момент поддерживать все это мне сложно будет. Решил сделать так, хранить в базе пользователя локальное время того человека, страницу которого посещают другие пользователи. И в аналитике например вывести например: Данные соответствуют времени: UTC +3. Это нормально? Да может человек переместится в другое место, с другим часовым поясом или может он зарегается в одной стране а живет в другой и через неделю приедет обратно домой. Но все таки если я не могу записывать документы в mongodb ежесекундно, это оптимальный вариант?

IGOR
09.01.2018
10:37:54
Oleg ?
09.01.2018
13:09:46
Никак. Hidden member + fs snapshot
получается восстанавливать снепшот на каждом мембере РС ?

и еще вопрос: у меня монга 3.2.18 WT. почему то залезла в СВОП, хотя на хосте еще 5гб фри памяти. это норм поведение ?

Moe
10.01.2018
08:30:11
гайз, я основы mongoose только изучил пока нашел статью по MEVN ( mongo+express+vue+node ) автор создает route: // Fetch all posts app.get('/posts', (req, res) => { Post.find({}, 'title description', function (error, posts) { if (error) { console.error(error); } res.send({ posts: posts }) }).sort({_id:-1}) }) мне непонятен аргумент 'title description' в его коде - что он значает?

Dmitriy
10.01.2018
08:33:04
Добрый день

Google
Dmitriy
10.01.2018
08:34:08
Подскажите пожалуйста, как произвести поиск в коллекции по id? Есть коллекция posts, надо найти post по get параметру

Структура такая:

{ _id: 5a55bede5811571afba5f918, title: 'Vue 2.0 Hello World', text: 'Welcome!' },

Надо ли добавлять свое поле id помимо _id?

Чтобы потом вывести из коллекции объект в таком виде: db.collection("posts").find({id:1})

Aleksandr
10.01.2018
08:40:40
а чем не устраивает _id ?

в монге в качестве айдишника uuid

Dmitriy
10.01.2018
08:42:10
а чем не устраивает _id ?
а как обращаться к _id?

Допустим я создал 3 поста

Aleksandr
10.01.2018
08:42:27
find({_id: ObjectId("uuid_string")});

Dmitriy
10.01.2018
08:42:31
И хочу вывести последний

например 3-й

вот и хочу искать в такм ключе {_id: 3}

find({_id: ObjectId("uuid_string")});
Т.е. мне надо указывать полный _id например 5a55bede5811571afba5f918

У меня REST приложение, поэтому и хочу чтобы на запрос posts/1 - выдавал первый пост из коллекции и т.д.

Aleksandr
10.01.2018
08:54:21
ну так пусть будет posts/5a55bede5811571afba5f918

ну и вы под первым постом из коллекции имеете в виду пост с ID 1, верно же?

Dmitriy
10.01.2018
08:56:01
да

Просто привык к Mysql, sqlite. Я просто дергал по id и все

Google
Aleksandr
10.01.2018
08:56:36
ну я бы переезжал на uuid, чтобы не задумываться об инкременте айдишников

ну тут просто дергать по uuid )

вместо привычной цифры будет строка с uuid

Dmitriy
10.01.2018
08:57:19
Aleksandr
10.01.2018
08:57:40
это так поначалу )

потом уже проще

Nick
10.01.2018
09:01:34
Просто привык к Mysql, sqlite. Я просто дергал по id и все
начинайте отвыкать сразу, и можете забыть про автоинкрементальные поля

Dmitriy
10.01.2018
09:02:50
сурово, буду отвыкать )

yopp
10.01.2018
09:58:28
Aleksandr
10.01.2018
09:58:56
в качестве основы ObjectId идет юид же

точнее uuid подобная строка

yopp
10.01.2018
10:33:36
UUID и ObjectId это две абсолютно разные вещи.

В них общего только то, что они для идентификации используются.

eshch
10.01.2018
10:36:01
ну еще оба генерятся на клиентах распеделенной системы

yopp
10.01.2018
10:37:42
Монга может тебе сама ObjectId присваивать, если ты _id не передашь.

eshch
10.01.2018
10:39:26
может

Dmitriy
10.01.2018
10:45:11
Как можно отрендерить коллекцию из mongodb во view express?

Рендер статьи по uuid без проблем, т.к. он один

Nick
10.01.2018
10:45:58
тебе в чат по ноде

или около того

Google
Dmitriy
10.01.2018
10:46:33
Ок, спасибо

Danil
10.01.2018
15:38:58
А уже был пост про потерю производительности в связи с патчами для meltdown? ) редис хорошо был оптимизирован под спекулятивное выполнение, процентов 30-40 потерял

Moe
10.01.2018
17:41:22
вопрос нуба в mongo - drop database - удалить базу данных? почему такое странное название? почему не просто remove?

Ruslan
10.01.2018
17:41:50
чтобы свой-чужой делать быстро

yopp
10.01.2018
17:46:10
вопрос нуба в mongo - drop database - удалить базу данных? почему такое странное название? почему не просто remove?
Две разные команды. Drop удаляет и данные и метаданные, а remove удаляет только данные.

yopp
10.01.2018
17:47:18
Да. В случае с remove останутся и индексы и все прочие настройки.

рассылка была, писали про 10-15%.
У всех по своему будет.

Tenni
10.01.2018
17:48:31
это понятно

yopp
10.01.2018
17:48:37
Но хорошая новость что у монги не udp

Vladimir
10.01.2018
17:53:50
Добрый вечер. Кто-нибудь сталкивался с такой ошибкой? 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
10.01.2018
17:54:31
Ваш ODM сломался где-то

Судя по сообщению где-то атрибут на связанной модели вызывается раньше чем сама модель загружена

Вероятно кто-то пытается обратится к модели создателя которая связанна через creator_id с Campaign, но по какой-то причине это происходит раньше запроса в монгу. Или у campaign значение creator_id отсутствует например.

Страница 173 из 342