Nick
что используйете?
Nick
нода знач
Oleksii
нода знач
а что за коллекции, я не совсем понимаю
Alexander
Alexander
атом - это сильно
Oleksii
mongoose
установил
Nick
установил
https://mongodb.github.io/node-mongodb-native/api-articles/nodekoarticle1.html
Nick
начните с нативного драйвера
Nick
потом уже на монгус
Alexander
ну тут вопрос цели. понять или сделать быстрее)
Oleksii
"mongodb": "^3.3.0", "mongoose": "^5.6.9", "node-telegram-bot-api": "^0.30.0", "sequelize": "^5.15.0",
Alexander
тогда - лучше конкретными кусками кода и проблемами просто «как подключить» - можно накопировать кода, но это будет дублированием(притом плохим) офф доки а с конкретными проблемами - можно и попробовать порешать
Nick
текс ссылка выше не актуальна. вот новое https://mongodb.github.io/node-mongodb-native/3.3/quick-start/quick-start/
Oleksii
а что должно храниться в коллекциях?
Alexander
документы) ну считай, что коллекция - это как таблица это, конечно, не очень правильно, но для начала - пойдет
Oleksii
ага
Alexander
т.е. коллекция users - это нормальное понятие
Alexander
в коророй, собсо, записи о пользователях и их поля
Oleksii
.
Oleksii
https://metanit.com/web/nodejs/6.1.php эта дока еще актуальна?
Oleksii
` const db = client.db('GameDataBase'); const collection = db.collection('users'); let user = { username:'', first_name:'', pet_type:'', pet_name:'', pet_lvl: `
Nick
советую каждый шаг чекать в соотвевующих документациях
Vasiliy
new model(args), у полученного объекта await obj.save()
Разобрался в чём дело было. Относится к этой issue https://github.com/Automattic/mongoose/issues/5236 С клиента приходил _id: null, а в этом случае id генерируется, но не возвращается
Виктор
Разобрался в чём дело было. Относится к этой issue https://github.com/Automattic/mongoose/issues/5236 С клиента приходил _id: null, а в этом случае id генерируется, но не возвращается
Ясно, я почему-то был уверен, что если из schema убрать _id, то он и не будет принимать от клиента этот параметр, какой бы он нибыл, но в случае с save, create вроде всё лопает
Артем
Всем привет! Подскажите , пожалуйста, как определить, какой тип шардирования используется для базы(range/hash) ? В sh.status() не могу найти об этом инфы.
yopp
Всем привет! Подскажите , пожалуйста, как определить, какой тип шардирования используется для базы(range/hash) ? В sh.status() не могу найти об этом инфы.
В монге чанки сегментируются по диапазону от MinKey до MaxKey используя индекс который выбран как шард ключ.
yopp
Если вы хотите узнать используется ли hashed индекс, то смотрите на https://docs.mongodb.com/manual/reference/method/db.collection.getIndexes/
Kirill
Здравствуйте. Столкнулся со странным поведением mongo на мой взгляд. У меня есть коллекция trackings по которой построен индекс {rid: 1} Запрос вида: db.trackings.find({ 'rid': { '$eq': 'RID111111' } }).sort({'updated': -1}).skip(0).limit(20) Использует этот индекс и все работает хорошо. Но запрос: db.trackings.aggregate([ {'$match': {'rid': {'$eq': 'RID111111'}}}, {'$sort': {'updated': -1}}, {'$skip': 0}, {'$limit': 20}]) Делает COLLSCAN. Как так происходит вообще?
yopp
Плюс skip/limit по отсортированному
yopp
Сделайте индекс rid: 1, updated: -1
Max
привет! есть ли возможность сделать дистинкт поиск по текст-индексу? есть запрос: db.addresses.find({$text: {$search: "Odutola"}}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}}) я хочу убрать дупликаты по одному из возвращаемых полей
Oleksii
Извините, но зачем нужна данная команда? mongod --dbpath=/data
Anonymous
Путь к базе данных, если вы про аргумент
Co(n)stantine👨‍🔬
https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-dbpath
Anonymous
in spec =) > The directory where the mongod instance stores its data
Oleksii
https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-dbpath
Create a database directory (in this case under /data).
Oleksii
уже заметил
Oleksii
моя ошибка
Max
Народ, кто-то fuzzy search делал на монге? с каким успехм?
Co(n)stantine👨‍🔬
Народ, кто-то fuzzy search делал на монге? с каким успехм?
делали https://medium.com/xeneta/fuzzy-search-with-mongodb-and-python-57103928ee5d
Oleksii
*новичок* обязательно делать ` collection.insertMany([ {a : 1}, {a : 2}, {a : 3} ` или можно сделать ` collection.insertMany([{ username : 1, first_name : 2, pet : 3 } `
Dmitriy
*новичок* обязательно делать ` collection.insertMany([ {a : 1}, {a : 2}, {a : 3} ` или можно сделать ` collection.insertMany([{ username : 1, first_name : 2, pet : 3 } `
Оба варианта эквивалентны, просто у вас создаваться коллекция с документами с указанными полями
Dmitriy
К слову если вы вставляете 1 документ, то insertMany избыточен
Dmitriy
Вторым ты зальешь один обьект, не?
Зальется ровно столько документов сколько будет перечислено в массиве)
Dmitriy
Метод то один для множественной вставки
Oleksii
collection.insertOne([{ username : 1, first_name : 2, pet : 3 }]) так будет правильно?
Oleksii
а что я ясделал не так?
Dmitriy
а что я ясделал не так?
А базу данных вы предварительно создали?
Oleksii
А базу данных вы предварительно создали?
запустил код, после чего обновил компасс
Dmitriy
Вы в коде подключаетесь к определенной базе, которой у вас по всей видимости нет. Странно, что вы не упали с ошибкой в принципе
Anonymous
Приветствую, может кто сталкивался с очень странным багом монгуса?
Anonymous
Сохраняем документ и для проверки сразу же его находим
Anonymous
Как сохраненный, так и найденный после содержит нужное поле(массив объектов)
Anonymous
Anonymous
Anonymous
Делаем сразу после запрос findOne() и массив в поле пуст
Anonymous
Запросы одинаковые
Anonymous
айди совпадают
Anonymous
Возпроизводится после дропа коллекции и после отключения __v
Nick
в чем сакральная необходимость?
Anonymous
Я просто попробовал сделать это, потому что все остальное перепробовал уже
Anonymous
Впрочем, как я уже думаю, баг не в Монгусе
Nick
стоп, а пробелма в чем?
Anonymous
В том, что в массив сохранило запись, следующим запросом на поиск выдало документ, где эта запись есть А вот когда этот документ запрашивается после - ее уже нет (с точки зрения апи - в первом запросе, где запись есть save(), а после findOne(), а во втором, где записи нет - findOne())