Max
@dd_bb а что это за покемоны к вам лезут в чат)?
yopp
да как обычно. хорошая новость что они не к нам первым лезут и что комбот побыстрее стал
yopp
зачем?
Ivan
КОнечно, у вас опыта больше, но пока у меня такая идея
Ivan
Хотите сказать, число коннетков мониторить тоже бесполезно?
yopp
Пофиксил некоторое количество багов в плейграунде
yopp
https://github.com/db-ai/playground/blob/master/CHANGELOG.md#version-06-10-june-2019
yopp
https://play.db-ai.co
yopp
Главное: теперь поддерживаются любые юникодные символы в строках. Не знаю как я это пропустил 🤦♂️
Hallo
🤘
Egor
Приветствую. Можете в двух словах объяснить, для чего монге чтобы уметь в подписки на изменения( .watch() ) необходимо запускаться в режиме репликации?
Egor
я до этого перескочил с постгры на rethinkdb - оказалась удобна для прототипирования, и как-то подружился с ней на ура, хоть и кластеров не разворачивал, и слышал что а проде ведет она себя не предсказуемо. Но все же в ней для аналогичной фичи changefeeds такой финт ушами не требовался)
Egor
ну таки прикрутил
Nick
Egor
Serhii
Привет, ребзи, к примеру у меня есть такой обьект { name: ‘some_name’, isClient: true, isCourier: false, client: { rating: 1 }, courier: { rating: 1 } }, как мне заселектить поля в зависимости от полей isClient или isCourier, те если. isCourier: true, то берем поле courier.rating? если isClient, то возвращаем рейтинг клиента
Konstantin
Привет, ребзи, к примеру у меня есть такой обьект { name: ‘some_name’, isClient: true, isCourier: false, client: { rating: 1 }, courier: { rating: 1 } }, как мне заселектить поля в зависимости от полей isClient или isCourier, те если. isCourier: true, то берем поле courier.rating? если isClient, то возвращаем рейтинг клиента
по идее cond вам в помощь: https://docs.mongodb.com/manual/reference/operator/aggregation/cond/
но вообще возможно что у вас проблема в схеме БД, и вы могли бы например обойтись полем type, где был бы тип (клиент или курьер) и общим полем rating.
Serhii
@darxide благодарю, да, согласен, проблема существует, возможно было бы даже лучше пофиксить схему и создание юзера, чтобы избавится от сложных квери
Odiljon
Доброго времени суток. Подскажите пожалуйста, как решить следующую ошибку:
No write concern mode named 'majority\"' found in replica set configuration
я новичок, пытаюсь записать данные в базу:
MongoClient.connect(config.mongoDb_uri, function (err, db) {
if (err) throw err;
var dbo = db.db('test_db');
var obj = {
name: 'Test_name',
lang_pref: 'ru'
}
dbo.collection('users').insertOne(obj, function (err, res) {
if (err) throw err;
console.log('1 doc inserted');
db.close();
})
});
Anonymous
Anonymous
Который config.mongoDb_uri
Odiljon
Вы были правы, оставил лишний символ в конце uri. Спасибо )
S
Всем привет. Подскажите мне пожалуйста как мне сделать отображение таблицы datagridView на форме1 в textBox на форме 2 с#. Может кто-нибудь понимает
Kozimjon
Даниил (Onix)
ребят, а вот мне Монга дала такой адрес:
mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Даниил (Onix)
у меня не получилось туда приконнекитстя, получилось только на обычный 127.0.0.1, и там написало:
"It looks like you are trying to access MongoDB over HTTP on the native driver port."
yopp
у монги нет веб-интерфейса
yopp
если вы хотите к ней подключится, используйте клиента, например robomongo
Даниил (Onix)
Даниил (Onix)
а вот адресс, который она мне написала... его вводить в робомонго?
yopp
да или в любой другой клиент, который поддерживает такой формат
Даниил (Onix)
yopp
Даниил (Onix)
Первая стартует службу, вторая коннектит... Почему нельзя сразу коннектить?
yopp
вообще ничего не надо, просто тренеруйтесь писать запросы
Nikita
Привет всем! А подскажите, пожалуйста, у вас тоже на mongos серверах команда: lsof | grep mongod | grep TCP, показывает несколько сотен тысяч соединений к каждому праймери реплика сета? Это вообще нормально?
Даниил (Onix)
я по своей инструкции делаю, но очень много не понятно
yopp
yopp
и я очень рекомендую прочитать введение: https://docs.mongodb.com/manual/introduction/
Даниил (Onix)
попробую, спасибо
yopp
вы можете вообще не ставить себе монгу, а использовать atlas. там есть бесплатный план на 512мб, которого хватит на очень многое
Roman
Всем привет.
Пытаюсь сделать примитивный джойн двух коллекций через сишарп драйвер, но ловлю NullReferenceException, когда кверя выполняется.
Это баг в либе или я что-то делаю не так?
вот код: https://pastebin.com/YTj7Fyh0
Anonymous
Нету ничего более наглядного чем $lt $gt? Например скобки
yopp
yopp
hi
всем привет, что-то с монгой странный затык, может кто знает?
пример структуры, т.е. contracts это массив обьектов, обычно в нем по одному обьекту, но может быть и больше
{ "data" : { "contracts" : [ { "dateSigned" : "2019-05-31T00:00:00+03:00" } ] } }
{ "data" : { "contracts" : [ { "dateSigned" : "2019-05-31T00:00:00+03:00" } ] } }
{ "data" : { "contracts" : [ { "dateSigned" : "2019-05-31T00:00:00+03:00" } ] } }
{ "data" : { "contracts" : [ { "dateSigned" : "2019-05-31T00:00:00+03:00" } ] } }
{ "data" : { "contracts" : [ { "dateSigned" : "2019-05-31T00:00:00+03:00" } ] } }
есть такой индекс
db.col.createIndex({'data.contracts.dateSigned':1})
вот такой запрос использует COUNT stage, все нормально (такой же запрос, но с $gte аналогично)
db.col.find({"data.contracts.dateSigned":{$lte:"2019-06-01T00:01:01+03:00"}}).count()
а вот такой уже делает еще FETCH зачем-то
db.col.find({"data.contracts.dateSigned":{$gte:"2019-05-01T16:00:00+03:00",$lte:"2019-06-02T00:00:00+03:00"}}).count()
https://jira.mongodb.org/browse/SERVER-41594
Вот итоговый баг в жире и комменты по нему. Если коротко, то действительно нельзя применять индекс сразу на два условия по полю из массива, потому что даже если взять множество _id которые удовлетворяют первому фильтру и пересечь его со вторым множеством, то в пересечении могут оказаться документы, которые там не должны быть. Пример такого массива: [5, 50], условие поиска {$gt: 10, $lt: 20}. Т.е. разные ключи массива подходят под разные условия, но нет такого ключа, который подходит под два сразу
yopp
yopp
Перед recordid можно было бы указать что это Nый элемент массива
УДАЛЁННЫЙ АККАУНТ
Всем привет! Есть бд 57GB. По простому запросу вида db.collection.find({"num":"798511223344"}) поиск занимает больше 10 минут.
Вопрос, как ускорить процесс?)
Ubuntu 18.2 lts. i7, ssd 1tb, ram 16gb
Yurii
Vladimir
Индексы падают
УДАЛЁННЫЙ АККАУНТ
Т.е. надо прописать что поиск будет по индексу "num"?
yopp
УДАЛЁННЫЙ АККАУНТ
Спасибо, ребят, сейчас очень быстро работает.
Anonymous
Добрый вечер. Подскажите, пожалуйста, где может находиться данная директория для нормального взаимодействия. По стандарту на метаните советуют создать C:\data\db. И как правильно указать путь ?
Anonymous
Kozimjon
Ребят, всем привет. Есть кто работает на Centos? Ночью сервер оказывается перезагрузился (что там у провайдера случилось) - сейчас никак не могу запустить или вообще что либо сделать с монго. Гуглил status=14, но ничего вразумительного не нашел. Может кто сталкивался?
Egor
ОСь запустилась?
Kozimjon
ОСь запустилась?
да, само приложение тоже работает (после перезапуска ос и приложения) - отдает только логин пейдж, а дальше когда надо обращаться к бд тупо виснет
Egor
тогда это уже не ось, если она запустилась. глянь диски, а так, рецепты по реанимации что для убунту. центос. и любой оси не отличается, так как, скорее всего проблема в самом монго.
Kozimjon
Egor
Kozimjon
Egor
а я уж хотел в поддержку провайдера писать))
Да и, приложения иногда не умеют нормально обрабатывать свои оставшиеся темповые файлы. И приходится руками чистить. Иногда можно в дмесг или мессагес увидеть на что ругается, так как бывает что и до логов самого приложения не добирается, так как иногда логинование начинается уже ПОСЛЕ полного запуска приложения
Roman
Всем привет, господа подскажите как быть
после моргания света не поднимается база
Roman
вот из лога
Roman
2019-06-13T11:24:48.225+0300 I CONTROL [main] ***** SERVER RESTARTED *****
2019-06-13T11:24:48.225+0300 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-06-13T11:24:48.239+0300 I CONTROL [initandlisten] MongoDB starting : pid=10353 port=27017 dbpath=/data/mongodb 64-bit host=devserver-new
2019-06-13T11:24:48.239+0300 I CONTROL [initandlisten] db version v4.0.6
2019-06-13T11:24:48.239+0300 I CONTROL [initandlisten] git version: caa42a1f75a56c7643d0b68d3880444375ec42e3
2019-06-13T11:24:48.239+0300 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2o-freebsd 27 Mar 2018
2019-06-13T11:24:48.239+0300 I CONTROL [initandlisten] allocator: system
2019-06-13T11:24:48.239+0300 I CONTROL [initandlisten] modules: none
2019-06-13T11:24:48.239+0300 I CONTROL [initandlisten] build environment:
2019-06-13T11:24:48.239+0300 I CONTROL [initandlisten] distarch: x86_64
2019-06-13T11:24:48.239+0300 I CONTROL [initandlisten] target_arch: x86_64
2019-06-13T11:24:48.239+0300 I CONTROL [initandlisten] options: { config: "/usr/local/etc/mongodb.conf", net: { bindIp: "127.0.0.1,10.0.0.240", port: 27017 }, processManagement: { fork: true, timeZoneInfo: "/usr/share/zoneinfo" }, setParameter: { disabledSecureAllocatorDomains: "*" }, storage: { dbPath: "/data/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/data/mongodb/mongod.log" } }
2019-06-13T11:24:48.239+0300 I STORAGE [initandlisten] Detected data files in /data/mongodb created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2019-06-13T11:24:48.239+0300 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=3406M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=(recovery_progress),
2019-06-13T11:24:48.823+0300 E STORAGE [initandlisten] WiredTiger error (-31803) [1560414288:823499][10353:0x809c16000], file:WiredTiger.wt, connection: __wt_turtle_read, 336: WiredTiger.turtle: fatal turtle file read error: WT_NOTFOUND: item not found Raw: [1560414288:823499][10353:0x809c16000], file:WiredTiger.wt, connection: __wt_turtle_read, 336: WiredTiger.turtle: fatal turtle file read error: WT_NOTFOUND: item not found
2019-06-13T11:24:48.823+0300 E STORAGE [initandlisten] WiredTiger error (-31804) [1560414288:823546][10353:0x809c16000], file:WiredTiger.wt, connection: __wt_panic, 523: the process must exit and restart: WT_PANIC: WiredTiger library panic Raw: [1560414288:823546][10353:0x809c16000], file:WiredTiger.wt, connection: __wt_panic, 523: the process must exit and restart: WT_PANIC: WiredTiger library panic
2019-06-13T11:24:48.823+0300 F - [initandlisten] Fatal Assertion 50853 at src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp 409
2019-06-13T11:24:48.823+0300 F - [initandlisten]
***aborting after fassert() failure
Roman
2019-06-13T11:24:48.824+0300 F - [initandlisten] Got signal: 6 (Abort trap).
0x3153ac9 0x315335b 0x807023946 0x807022eb2
----- BEGIN BACKTRACE -----
{"backtrace":[{"b":"1021000","o":"2132AC9","s":"_ZN5mongo15printStackTraceERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE"},{"b":"1021000","o":"213235B","s":"_ZN5mongo29reportOutOfMemoryErrorAndExitEv"},{"b":"807015000","o":"E946","s":"pthread_sigmask"},{"b":"807015000","o":"DEB2","s":"pthread_getspecific"}],"processInfo":{ "mongodbVersion" : "4.0.6", "gitVersion" : "caa42a1f75a56c7643d0b68d3880444375ec42e3", "compiledModules" : [], "uname" : { "sysname" : "FreeBSD", "release" : "11.2-RELEASE-p4", "version" : "FreeBSD 11.2-RELEASE-p4 #0: Thu Sep 27 08:16:24 UTC 2018 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC", "machine" : "amd64" } }}
mongod(_ZN5mongo15printStackTraceERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE+0x39) [0x3153ac9]
mongod(_ZN5mongo29reportOutOfMemoryErrorAndExitEv+0x15B) [0x315335b]
libthr.so.3(pthread_sigmask+0x536) [0x807023946]
libthr.so.3(pthread_getspecific+0xE12) [0x807022eb2]
----- END BACKTRACE -----
Kozimjon
Roman
Спасибо
Roman
привет!
updateOne возвращает мне:
{ n: 1, nModified: 1, ok: 1 }
а как получить хотя бы objectId документа?
Anonymous