@MongoDBRussian

Страница 269 из 342
υρ∂ουя°°
11.07.2018
03:39:11
Evgeny
11.07.2018
07:40:40
Здарова парни! Подскажите, пожалуйста, можно ли в монге построить запрос так, что бы результаты были отсортированы по предустановленному списку. Типа так: В БД есть apple, pear, orange. Я хочу чтобы в ответе мне пришли сначала все pear, потом все apple, и потом все orange. Здесь обычный .sort({type: 1}) не подойдет. А по другому я не оч умею. И еще связанный с этим вопрос. Хочу что бы мне в ответе пришли все pear, но если ни одного pear не найдено, то тогда все apple, а если и их не найдено, то тогда все orange. Здесь я вижу решение - со стороны ноды проверять результат, и посылать следующий запрос, если предыдущий ничего не вернул. А можно ли сделать это одним запросом?

Ruslan
11.07.2018
07:56:37
Это все разные коллекции?

Yurii
11.07.2018
07:58:36
Здарова парни! Подскажите, пожалуйста, можно ли в монге построить запрос так, что бы результаты были отсортированы по предустановленному списку. Типа так: В БД есть apple, pear, orange. Я хочу чтобы в ответе мне пришли сначала все pear, потом все apple, и потом все orange. Здесь обычный .sort({type: 1}) не подойдет. А по другому я не оч умею. И еще связанный с этим вопрос. Хочу что бы мне в ответе пришли все pear, но если ни одного pear не найдено, то тогда все apple, а если и их не найдено, то тогда все orange. Здесь я вижу решение - со стороны ноды проверять результат, и посылать следующий запрос, если предыдущий ничего не вернул. А можно ли сделать это одним запросом?
aggregation framework + facet (https://docs.mongodb.com/manual/reference/operator/aggregation/facet/) и сразу сделать паралельно необходымие расчёты, а потом с на этапе project отсеять ненужные. Но это сложный путь. 1 запрос, но кучу гемора. Проще действительно разрулить все на уровне ноды и нескольких запросов…

Google
Ruslan
11.07.2018
08:26:28
А чем тебя не устраивает сортировка по типу?

Evgeny
11.07.2018
08:27:04
если именно .sort({type: 1}), то будет не правильный порядок

Мне нужен свой, заранее определенный: pear, apple, orange

Ruslan
11.07.2018
08:28:03
А, ну да, только $facet

Evgeny
11.07.2018
08:29:24
Буду на уровне ноды решать. Спасибо за ответы)

Roman
11.07.2018
10:34:40
Подскажите логи хранить в монге это нормально?

Nick
11.07.2018
10:36:58
хранить - да, обрабатывать - нет

ну и опять же если вы сначала логи приводите к определнному виду, по которому уже можно построить вменяемые запросы, которые вы уже все определили, то почему бы и нет. но про фултекст забудьте

yopp
11.07.2018
10:46:22
как вы думаете, допустимо ли хранить информацию о прочитанных/не прочитанных новостях на клиенте, в кеше или в памяти устройства?
Это доставит адскую боль пользователям с несколькими устройcтвами или вам придётся решать проблему синхронизации между клиентами. А это нетривиально.

Я ещё раз задам вопрос: о каком объёме новостей и каком количестве пользователей идёт речь? Не обязательно точные цифры, порядка будет достаточно

Google
Roman
11.07.2018
11:20:20
хранить - да, обрабатывать - нет
ну посути зачем фулл текст? в случаи чего посмотреть кто что менял и возможно откатить данные

Nick
11.07.2018
11:56:28
ну посути зачем фулл текст? в случаи чего посмотреть кто что менял и возможно откатить данные
А какие критерии для поиска будете использовать? Это в будущем может очень сильно повлиять на работоспособность

Roman
11.07.2018
12:18:34
имя таблицы ид

дата

база вся в мускуле

Nick
11.07.2018
12:28:43
я спрашиваю о другом, вы уже наметили как будут выглядеть события и какие критерии для поиска будете использовать? из опыта при работе с логами всегда есть необходимость поискать рендомную фразу по логам, или опять же вычленить часть строки и сделать группировку по ней - вот это все в монге будет очень больно

yopp
11.07.2018
13:38:47
Поиск по тексту везде очень больно.

Михаил
11.07.2018
15:04:24
Подскажите, есть у кого ссЫлка на чат разработчиков 1С ?

/dev/null
11.07.2018
23:29:51
Alex
12.07.2018
06:40:14
Всем привет, пробую установить mongo. Возникла следующая проблема - на скрине. Что делал:

Alex
12.07.2018
06:41:53
Переменные среды установил, монго в следующей папке c/mongodb/bin => mongo.exe и тд



Banschikov
12.07.2018
06:43:13
Через локалхост коннектишся?

Alex
12.07.2018
06:52:29
ну, да, видимо) - 27017

а так не надо? мне просто в новинку вся эта тема - могу где-то по незнанию нехило так затупить

Alex
12.07.2018
07:03:54
пока ничем) я думал я этой командой что-то вроде инициализации должен провести, ну попробовать создать базу (видимо к которой можно обратиться по 27017 порту)

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



Google
Banschikov
12.07.2018
07:17:52
Почитай документашку по монге https://docs.mongodb.com/tutorials/connect-to-mongodb-shell/

Тебе нужен mongo-client

Alex
12.07.2018
07:31:48
ок, спасибо, буду изучать

vitalii
12.07.2018
09:35:27
Парни , кто поможет , а то не пойму немного . Сущность пользователя содержит базовые поля (имя и пр.) Сущность сообщения содержит senderId и receiverId (id пользователей), а также тело сообщения. Создать роут, который возвращает всех пользователей, с которыми общался пользователь с данным id.find().or([{ senderId: 0 }, { receiverId: 0 }]) .then(message=> { а тут искать в пользователях эти id ? })

Nick
12.07.2018
09:51:32
Парни , кто поможет , а то не пойму немного . Сущность пользователя содержит базовые поля (имя и пр.) Сущность сообщения содержит senderId и receiverId (id пользователей), а также тело сообщения. Создать роут, который возвращает всех пользователей, с которыми общался пользователь с данным id.find().or([{ senderId: 0 }, { receiverId: 0 }]) .then(message=> { а тут искать в пользователях эти id ? })
сейчас будет не упрек, а пожелание. видимо полное отсувие опыта работы с данными, поэтому предлагаю сначала реализовать все в коде, чтобы понять что будет делать база для получения такого же результата. а потом уже эти стадии оформить в виде запроса к бд, а то без этого понимания вы даже не сможете правильно выбрать что использовать из возможностей бд. вообще ваш случай легко в монге решается через aggregation framework

Игорь
12.07.2018
13:39:13
Господа только начинаю знакомиться с монгой. Подскажите пожалуйста по организации модели. Мне по сути нужно хранить заказы, где указан user, описание заказа, так же в заказе будут товары количество каждого и цена. И еще список где будут юзеры и некоторые поля. Я так полагаю мне нужны будут коллекции users orders items. Схема orders будет выглядеть что-то типа { _id:'', order_name:'', some_fields:..... .... created_by: ссылка_на_user, items: [{item:ссылка_на_item,count:'2',price:'11',}], storages:[{storage:ссылка_на_storage,count:1}] } Я просто прочитал что типа монга не очень хорошо работает с ссылками на другие документы. Или я что-то не понял?

Nick
12.07.2018
13:54:02
имитация джойна делается только через lookup, как следствие если вам надо много джойнов в классической sql модели, то лучше бы посмотреть в сторону sql

и в монге нет понятия "ссылки", это лишь рекомендованный способ задать ссылку, вся механика по вытаскиванию связанного объекта будет лежать на вас, ну или на драйвере

Игорь
12.07.2018
14:36:36
Nick
12.07.2018
14:37:06
да

Игорь
12.07.2018
14:37:34
Понял, спасибо

Oleg
12.07.2018
14:53:22
мы пользовались DbRef

под копотом в драйвере по сути еще 1 query отрабатывает

ну или столько сколько рефов будет

Alexey
12.07.2018
16:50:28
Коллеги, подскажите, имеется GeoJson, типа Polygon, нужно проверить что другой GeoJson (тип Point), попадает в выше упомянутый полигон монга 3.4

корректно ли вообще сравнивать Point && Polygon?

сейчас мой запрос выглядит так {'geoJson':{$geoIntersects:{$geometry:{'type':'Point', 'coordinates':[30.5240501,50.4501071]}}}}

и ничего не находит

Aртемка
12.07.2018
18:28:43
как можно вытащить все елементы с колекцыи? find() не работает только findOne

Google
Aртемка
12.07.2018
18:35:11
Почему не работает?
работает только андефайнд





Mikhail
12.07.2018
18:36:48
Ну потому что это массив будет

Aртемка
12.07.2018
18:37:25
да

Mikhail
12.07.2018
18:38:00
да
Как ты собираешься читать поле из массива?

Aртемка
12.07.2018
18:38:07
как выводить масивом?

Aртемка
12.07.2018
18:44:55
Циклом
также андефейн

Mikhail
12.07.2018
18:45:41
также андефейн
Значит ты делаешь что-то неправильно

Aртемка
12.07.2018
18:46:21
Nick
12.07.2018
19:09:40
также андефейн
как вы это делаете?

Aртемка
12.07.2018
19:14:47


Mikhail
12.07.2018
19:16:10
Ну а просто console.log(organizarion) что выводит?

Mikhail
12.07.2018
19:16:39
Какой-то странный цикл))

Mikhail
12.07.2018
19:17:53
Стоп. Что это вообще такое? Что в переменной query?

Mikhail
12.07.2018
19:18:51
undefined
А в query что?

Aртемка
12.07.2018
19:19:11
А в query что?
та я пробовал записовать в квери

Google
Aртемка
12.07.2018
19:19:19
но и без квери андеф

Mikhail
12.07.2018
19:20:09
та я пробовал записовать в квери
Идите в @nodejs_ru, но будьте готовы, что вас там тапками закидают

Aртемка
12.07.2018
19:24:49
спасибо решилось

Naught
12.07.2018
22:28:21
Ребят, подскажите такую штуку. Есть поле данных, в монге, которое, как мне кажется, должно быть массивом опциональных объектов вида {key1: val1, key2: val2}. Как такое прописать в монге, и самое главное - как потом сохранять в такое поле, если приходит просто объект вида ключ:значение ?

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