Dmitriy
А в монге же нет синхронной репликации?
Да, на сколько мне известно, то реплика только асинхронная (хотя может быть я не знаю о функционале синхронной репликации, тут бы я уточнил у @dd_bb )
yopp
А в монге же нет синхронной репликации?
Есть casual consistency и majority read concern
yopp
Окей, но раньше у нас было либо nosql, либо реляционные бд. А сейчас есть jsonb в pg и можно совмещать лучшее из обоих миров в одной бд. Вообще, мне больше интересно было узнать про механизмы целостности в монге
Nosql это не модель данных, это просто словечко которе вообще потеряло какой либо смысл. За последние 20 лет принципиально ничего не изменилось и основные модели данных какие были, такие и остались: Потоки, блоки, key/value, таблицы (строки или колонки), документы и иерархические данные (деревья, графы, гипер- и ультраграфы) Изменилась доступная вычислительная мощность и скорость хранилищ, что расширяет границы применимостей различных моделей или их комбинаций.
Anonymous
подскажите человеку, разбалованным монгузом. как лучше всего открыть соединение в отдельном файле, и потом иметь доступ к db во всем приложении?
Anonymous
примеры везде прям жуткие коллбеки какие-то
Anonymous
ну серьезно, кто работает с нодой? как быть?
Anonymous
@nodejs_ru
там спрашивать не у кого
Anonymous
остановился на таком const client = new MongoClient(url, { useNewUrlParser: true }); const connect = client.connect(); потом в другом файле импорчу промис и выполняю. но вопрос - это создает каждый раз соединение заново или переиспользует?
Anonymous
в другом файле connect.then(client => { const db = client.db(dbName); findDocuments(db); });
Anonymous
судя по всему не переиспользует
Anonymous
Доброго времени суток, Возникла проблема с конфигом mongodb.conf файла(replication: replSetName). Error parsing INI config file: the options configuration file contains an invalid line 'replication:'
Anonymous
replication: replSetName: "rs01"
Anonymous
с монгузом таких проблем нет
Anonymous
судя по db.serverStatus().connections это не одно соединение
Anonymous
ох и ебола
Anonymous
все репостят одно и то же убожество https://itnext.io/how-to-share-a-single-database-connection-in-a-node-js-express-js-app-fcad4cbcb1e
Denis
Парни привет, есть вопросы по работе монги с докером, кому можно написать?)
noname
Парни привет, есть вопросы по работе монги с докером, кому можно написать?)
задай сразу вопрос здесь, чтобы тебе могли ответить
Anonymous
заметил что db.serverStatus().connections current максимум 6. как это понимать?
Anonymous
почему именно 6?
Anonymous
значит ли это у меня только одно соединение? как это вообще промониторить?
Anonymous
Всем привет, использую mongoose.
Anonymous
addUser.find({}, "email", function (err,user) { console.log(user) })
Anonymous
как из user взять email.Пробовал user.email ,но оно возвращает undefined
Nick
как из user взять email.Пробовал user.email ,но оно возвращает undefined
посмотрите контранкт на find метод и что он принимает вторым аргументом, потом выведите в консоль err и увидите ошибку, собственно разберитесь с ней. Потом найдите какойнить туториал и его пройдите, т.к. вы видимо не достаточно разобрались в том как работать с бд.
Anonymous
господа, кто-то работает с Robo 3T?
Anonymous
Когда я делаю какой-о определённый запрос, он обрабатывается правильно. Но как только я хочу обернуть его в функцию - функция просто не сохраняеся. В чём может быть беда? Использую Robo 3T v1.3
Nick
а с чего оно должно работать? вы по какомуто туториалу или доке делаете? и собственно где и как вы эту самую функцию сохраняете?
Anonymous
и по документации, и по StackOverflow смотрел варианты. Сохраняю в соответствующем разделе: Functions
Anonymous
никак не дёргаю. Она банально не сохраняется в функциях :)
Nick
вон она же у вас есть там
Anonymous
сохраняется только строка, допустим function myFunc(param) {} Если я начинаю добавлять что-то в неё, например, function myFunc(param) { var result = db.counters.findAndModify({ query: (_id: param}, update: { $inc: { humanid: 1 } } }); } то, после сохранения изменения не учитываюся и остаётся только предыдущий вариант
Nick
а если удалить перед этим?
Nick
https://docs.mongodb.com/manual/tutorial/store-javascript-function-on-server/
Anonymous
все варианты пробовал, и Crtl+C -> Ctrl+V из документации, и вручную переписать, и названия полей позаключать в кавычки, и т.д. и т.п...
Nick
зачем вам они вообще понадобились? мапредьюс?
Anonymous
пришёл на новую работу, а там вовсю монго используется. Так что пробую всё, что вижу.
Anonymous
раньше всегда только с SQL работал и ни шага в сторону :)
Nick
тогда забудь про функции в монге, вся логика должна быть в приложении и запросах
Nick
пришёл на новую работу, а там вовсю монго используется. Так что пробую всё, что вижу.
данные функции нужны только в двух случаях - функции для мапредьюса и функции для $where. $where крайне ужасная вещь, которая не ускоряется монгой и докучи ограничена скоростью работы однопоточного js интерпертатора и перечитывает все доки в коллекции mapReduce становится все большим атавизмом, т.к. досточно сильно развился aggregation framework где уже можно творить нормальную дичь используя встроенные в монгу вещи, которые при возможности уже используют индексы и планировщики. Мап рнедьюс же так же ограничен одним потоком и жс интерпретатором И все это не имеет смысл если в этой функции будет попытка использовать какието зависимости, т.е. они должны быть простыми.
Anonymous
понял, спасибо
Anonymous
шутка ли: попробовал реализовать нужный мне функционал в приложении, уложился в одну строку 😂
Nick
так обычно и бывает
Anonymous
привет, как сделать что при добавлении id был в диапазоне от 1 до 1кк. либо чтоб генерировался при вносе данных, на +1 значение от прошлого
Anonymous
либо как получить последний документ из колекции?
Dmitriy
добавить поле с временной меткой и сделать по нему order by desc
Anonymous
монгуз при инициализации выполнял articles.createIndex. с нативным драйвером это надо делать самому?
Anonymous
Добрый день, кто может плиз линк подкинуть на новый драйвер для го
Anonymous
Привет, https://github.com/mongodb/mongo-go-driver
там же 800 коммитов, недавно просто где-то услышал, что монга что-то новое для го зарелизила или это не так?
Anonymous
благодарю
yopp
привет, как сделать что при добавлении id был в диапазоне от 1 до 1кк. либо чтоб генерировался при вносе данных, на +1 значение от прошлого
Так лучше не делать, а если и делать то завести отдельное поле и реализовать коллекцию со счётчиками
Aleksandr
Привет, я в своем web приложении использую mongoose, и у меня появился вопрос, как я могу из колбек функции вывести переменную? Пример: userProfile.find((err, res) => { if(err) throw err; let id = res.length + 1 }); Функция генерирует Id для юзера на основе количества других юзеров. Как я могу этот Id вывести и использовать в другом месте?
Alexey
возможно вам нужны preSave или postFind хуки
Alexey
если я правильно понял вопрос
Alexey
но это не масштабируется нормально, лучше такое не делать
Aleksandr
ничего не понятно, id потом будете вставлять в создание новых объектов?
эта функция генерирует id и этот id передеется в объект для отпраки пользователю
Nick
в общем случае либо await либо обработка внутри колбека, просто так никак не вернешь ибо это все асинхронщина
Nick
докучи, не используйте инкременты для ид, тем более таким убогим способом как выборка абсолютно всех данных из базы
Alexey
find + res.length? вы отдаёте себе отчёт в том, что на фронт будет слита вся коллекция пользователей только для того чтобы получить каунт?
Nick
на фронет не будет, но в ноду - да перешлет все данные
Alexey
.count
Alexey
монгус очень комфортная штука, но как только коллекция подрастёт или запросы подскочат - тут же огребешь оверхэда
Nick
лучше расскажите зачем вам автоинкрементный ид?
Aleksandr
.count
а в mongoose?
Nick
извините но думаю все же гугл
Nick
и чтение доков
Nick
а еще если вы собираетесь работать в многопоточке, то ваши идшники будут пересекаться