Viktar
условно, есть поля start_1, start_2, start_3...start_n - хочу выбрать все поля со start_, и выделить в них значения после start_
я так понимаю значение после старт это какой то ид? я бы вам порекомендовал бы не делать такую структуры, а использовать массив вида start:[{id:1, value :1}...,{id: n, value:n}]. конкретно по вашему вопросу, у меня ответа нет.
Viktar
https://docs.mongodb.com/manual/tutorial/perform-maintence-on-replica-set-members/
A
Нужно бутнуть сервер где вторичная реплика монги 1. Остановить службу 2. Бутнуть сервер и все должно работать после этого?
Убедится что это не primary и можно ребутать. Убедится что оплог праймари покроет время работ на сервере который ребутаем
Andrey
я так понимаю значение после старт это какой то ид? я бы вам порекомендовал бы не делать такую структуры, а использовать массив вида start:[{id:1, value :1}...,{id: n, value:n}]. конкретно по вашему вопросу, у меня ответа нет.
Да, там id, вставка документов идет с помощью mongoimport merge по одному из других уникальных полей, и если через array как вы предлагаете(так пробывал) - очень долго и через mongoimport значения такого поля с array заменяется. Так как по этим значениям искать не надо, только читать, решил добавлять поле - в название поля есть нужное значение, в значении поля - null. При чтении документов, хотелось бы на уровне базы взять только 1 и последнее поле. Отсюда и вопрос, что документ уже ведь считан, как получить доступ к названиям полей. На уровне кода, я могу вычленить названия поля, а вот на уровне запросов можно ли такое.
Konstantin
let online = await User.aggregate( [ { $match: { last_seen: new Date().getTime() - 2 * 60 * 1000 } }, { $group: { _id: null, count: { $sum: 1 } } } ] ); throw new error_1.MongoInvalidArgumentError('Method "collection.aggregate()" accepts at most two arguments'); ^ MongoInvalidArgumentError: Method "collection.aggregate()" accepts at most two arguments at Collection.aggregate (/Users/kostyaavdonin/Desktop/Arduino/node_modules/mongodb/lib/collection.js:367:19) at NativeCollection.<computed> [as aggregate] (/Users/kostyaavdonin/Desktop/Arduino/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js:200:33) at NativeCollection.Collection.doQueue (/Users/kostyaavdonin/Desktop/Arduino/node_modules/mongoose/lib/collection.js:135:23) at /Users/kostyaavdonin/Desktop/Arduino/node_modules/mongoose/lib/collection.js:82:24 at processTicksAndRejections (node:internal/process/task_queues:76:11)
Konstantin
что делать?
Михаил
-
Что это значит?
Konstantin
let online = await User.aggregate.match({ last_seen: new Date().getTime() - 2 * 60 * 1000 } ) ^ TypeError: User.aggregate.match is not a function at stat (/Users/kostyaavdonin/Desktop/Arduino/projects/js/stat.js:43:39) at Object.<anonymous> (/Users/kostyaavdonin/Desktop/Arduino/projects/js/stat.js:76:1) at Module._compile (node:internal/modules/cjs/loader:1092:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
Михаил
вот
Ты читал статью, что я скинул?
Konstantin
Nurla
всем привет! как сделать null field в схеме как в sql?
Nurla
Дмитрий
всем привет! как сделать null field в схеме как в sql?
Так в Монге нет схемы данных как таковой, как в реляционных БД. Там нет нужды в этом. Если поле не нужно, просто не создаёшь его в документе..
Nurla
ок понял
Anonymous
а у монгуса есть какой-то тип респонса?
Irina Shanan
Привет! Нужен аналитик на разовую работу для визуализации данных из MongoDB Пишите в личные сообщения
Nurla
всем привет. Как можно сделать в схеме чтобы client_id и objectId по дефолту были одинаковы
Leksey
коллеги день/вечер добрый планирую переехать с одного инстанса на реплику (3 сервера): primary + secondary + arbiter уж больно транзакции нужны стратегия следующая: - создаем 3 сервера - реплика далее с одного инстанса заберем бэкап и сделаем рестор на праймари норм стратегия?
Anonymous
Есть инфа по работе с Telegraf.js?
Lid Force
Есть инфа по работе с Telegraf.js?
что именно ты хочешь узнать?
Andy
Есть инфа по работе с Telegraf.js?
Думаю, если ты сформулируешь свой вопрос чуть более конкретно, то люди, знающие ответ, найдутся гораздо быстрее)
Anonymous
Начал внедрять MongoDb, подключил сессии с помощью библиотеки telegraf-session-mongodb. После запуска бота (/start) не может запустить Сцены, пишет: Cannot read property 'enter' of undefined. Соответственно cxt.scene - undefined.
Anonymous
Метод MongoClient.connect(...).db() создаёт новый инстанс базы данных. Если ли аналог такого метода в mongoose?
Abdurashid
Не могу запустить Mongo DB на линуксе
Sergey
Не могу запустить Mongo DB на линуксе
перестань немочь и смоги) лог читайте, блин! скорее всего папки ,которая под данные, нету или прав на неё
Viktar
Не могу запустить Mongo DB на линуксе
Посмотрите лог. Там написана причина
Мағжан
Всем привет. кто нибудь сталкивался с ошибкой: the limit must be positive в колекции A все норм работает с параметром _limit=0, а в колекции B получаю эту ошибку(((
Dmitriy
Коллеги, добрый день. Подскажите, как мне проверить строку, является ли она валидной для создания ObjectId
Dmitriy
то есть если я делаю new ObjectId(12345) то выдаст исключение
Dmitriy
а мне нужно перед тем как делать из нее ObjectId проверить, смогу ли я из этой строки сделать Object Id
Dmitriy
Javascript
Artem
Коллеги, добрый день. Подскажите, как мне проверить строку, является ли она валидной для создания ObjectId
var ObjectId = require​(​'mongoose'​).​Types​.​ObjectId​; ObjectId​.​isValid​(​'microsoft123'​); Первая ссылка в гугле
Dmitriy
спс. Видимо я не так искал в гугле
Lev
Избитый наверное вопрос. Есть коллекция счетчиков. Есть коллекция показаний счетчиков. Нужно вернуть последние показания для каждого счетчика. Есть вариант через group>lookup. А есть без лукапа?
Viktar
Избитый наверное вопрос. Есть коллекция счетчиков. Есть коллекция показаний счетчиков. Нужно вернуть последние показания для каждого счетчика. Есть вариант через group>lookup. А есть без лукапа?
Можно объединить, например счётчик, а в нем массив значений { 'ид счётчика' 1, 'значения': [ { дата: 01.01.01, 'значение': 200}, ... { дата: 01.05.21, 'значение': 500}] } вам не придётся тогда джойнить коллекции
Lev
Ну, значений то будет много...
Lev
Помоему там можно после групировки оставить идшники и потом их них сделать полноценные документы
Lev
Пайплайн сохранит порядок между операциями? Если я сначала сделаю sort а потом сгруппирую и возьму первое вхождение?
Вадим
Всем привет. Не могу разобраться с лицензией. Могу ли я использовать Mongo Community Server как просто БДшку для бекенда? Без слива своих исходников и т.п.?
Anonymous
Как я могу сохранить ref на документ по какому-то полю?
Вадим
Почему нет?
AGPL требует слив исходников
Anonymous
правильно ли я понимаю смысл виртуализации в mongoose, я могу создать виртуальную схему, в которой могу указать внешний ключ как любое поле из какого-то другого документа?
Anonymous
я не обязан указывать в реф именноо _id, это не создаст ошибок?
Nick
AGPL требует слив исходников
agpl - если вы накручиваете логику над сырцами БД, а не используете ее как сервис развернув у себя. Т.е7 если вы переделаете ее в embedded вид, доработав код самой БД, и выпустите продукт в котором оно встроено, то да могут придти за исходниками.
Максим
Максим
Оно ещё и не агпл
Nick
Оно ещё и не агпл
думаю тут непонятка, оно раньше было agpl MongoDB is free and the source is available. Versions released prior to October 16, 2018 are published under the AGPL. https://github.com/mongodb/mongo
Nick
Да, можете
есть какие подводные камни в лицухе сейчас? типа делать свои клауд DBaaS на базе коммунити?
yopp
есть какие подводные камни в лицухе сейчас? типа делать свои клауд DBaaS на базе коммунити?
Да, есть. Любое публичное предоставление сервиса хостинга монги требует раскрытия исходного кода всей инфраструктуры управления базой
yopp
Если это непубличный сервис, например внутри компании или внутри холдинга, то этого требования нет
Alexey
Истина лежит где-то между https://www.mongodb.com/licensing/server-side-public-license/faq и http://www.ssplisbad.com
yopp
Истина лежит где-то между https://www.mongodb.com/licensing/server-side-public-license/faq и http://www.ssplisbad.com
SSPL is bad движение не интересовалось историей монги. Предоставление базы данных как сервиса была изначальная идея 10gen. Введение такого ограничения это логичный шаг после появления atlas, ради которого монгу и разработали.
Alexey
> SSPL is bad движение не интересовалось историей монги Почему вы так думаете?
yopp
> SSPL is bad движение не интересовалось историей монги Почему вы так думаете?
Потому что суть претензий сводиться к «ограничению конкуренции» на рынке облачных баз. Но я ещё раз подчеркну: 10gen начали разрабатывать свою базу данных потому что не нашли страджа подходящего под свою задачу «сделать облачное хранилище». Монга разрабатывалась ради этого. Это как наезжать на Амазон, что они не открывают код Dynamo
yopp
Я догадываюсь в чьих интересах это рант
yopp
Но суть претензий абсолютно не валидна
yopp
Продукт разработан с нуля, WT куплен. Они в праве делать что хотят
yopp
Никакого вреда никому это не наносит, потому что ограничивает конкретное использование
yopp
Защищая их собственный рынок