yopp
такие выкрутасы не нужны обычно
Maxim
db.getCollection('users').aggregate({
$match: {
"stats.skills.id": { $in: [1, 2, 5 ... ] }
}
})
Можно ли как-то отсортировать в порядке убывания вхождений?
Maxim
именно элементов из массива
yopp
Добавить projection c $size: “$stats.skill.id” и дальше отсортировать по нему
yopp
А. Вхождений
yopp
Тогда сначала projection c https://docs.mongodb.com/manual/reference/operator/aggregation/setIntersection/#exp._S_setIntersection
yopp
Можно в один прожекшен сразу, если не надо сохранять список пересечению
Maxim
спасибо
yopp
рекомендую убедится что на stats.skills.id есть индекс
SvPupok
всем день добрый
Server
Server
{
getUser(_id: "5a1eda7f88a08417b1beabb1") {
_id
name
tweet {
text
_id
}
}
}
Server
правда в схеме еще нужно связь настроить, вот курс по теме MongoDB + GraphQL
https://www.youtube.com/playlist?list=PLzQWIQOqeUSM51q7ZIqvDQ-Myp58IVPEN
yopp
GraphQL не совсем по теме чята
Anton
под graphql чет не видел нормальных адаптеров, все руками делать надо
Server
Anton
ну да
Server
через них связь с монгой
Server
ну да
mongoose основную нарузку на себя берет
Anton
так я про что говорю. нет нормальных, чтобы построилась сама схема и все мутации, пагинация, прочее по одним например моделькам монгуса
Андрей
Народ , а.есть ли русскоязычная документация по монге?
Андрей
Задолбался коллеге переводить
yopp
Server
yopp
Ломтики
Существует еще один кластер MongoDB в пределах, нарезка технологии, большое количество данных, чтобы удовлетворить растущий спрос на MongoDB.
yopp
так это гуглтранслейт
yopp
Ломтики нарезка технологии
Server
Андрей
Спс
Server
строки картинок base64 в монге хранить можно?
Николаич
Server
А смысл?
можно в png хранить? firebase когдв проходил, там только base64
yopp
В bson есть тип Binary же
Николаич
А, ну про firebase я хз. Да хранить можно, вопрос - надо ли? Почему путь к картинке не хранить?
Server
Server
может что не понимаю, я из мобильной разработки и мне нужно фото с устройства не монгу залить)
yopp
Если вы сделаете кеширование через nginx потом, то да. Постоянно таскать картинки из базы так себе идея
Николаич
Не, ну дело хозяйское. А еще один стор это папочка с файлами. По мне норм решение.
Николаич
Николаич
Server
Server
Server
Server
Николаич
Ну вы же не миллионом картинок там ворочаете. А к тому моменту, когда монга не будет вывозить, вы набравшись опыта будете хранить их в файлах )))
Server
yopp
Base64 это на 2/3 больше ноликов и единичек
Server
Server
Base64 это на 2/3 больше ноликов и единичек
я так понял, что в абсолютном все файлы бинарные, а в относительном нет. У меня есть jpg
{
"url": "file:///Users/x/Library/Developer/CoreSimulator/Devices/BF0FFACC-B049-403D-A27C-048B9BC54636/data/Containers/Data/Application/505DDF55-7C87-40BA-A08D-6E033BDC0724/Documents/images/13CD3880-1D58-4A83-A714-42029C276A7A.jpg"
}
мне его нужно конвертить или это уже бинарник?
yopp
Это просто путь к файлу
yopp
Если твой драйвер умеет укладывать его как binary то нет
yopp
Можешь для удобства сохранять ещё content type
Bruno
@dd_bb ^
Sergey
Artem
Подскажите пожалуйста, почему не запускается: root@dedicated:~# mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
2017-12-01T13:59:56.078+0200 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2017-12-01T13:59:56.078+0200 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed
Timur
directory /data/db not found
Artem
создать вручную?
Nickolay
Или указать другую лиректорию
Artem
создал, теперь висит на этом: root@dedicated:~# mongod
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] MongoDB starting : pid=2642 port=27017 dbpath=/data/db 64-bit host=dedicated
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] db version v3.4.10
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1t 3 May 2016
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] allocator: tcmalloc
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] modules: none
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] build environment:
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] distmod: debian81
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] distarch: x86_64
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] target_arch: x86_64
2017-12-01T14:06:21.875+0200 I CONTROL [initandlisten] options: {}
2017-12-01T14:06:21.890+0200 I STORAGE [initandlisten]
2017-12-01T14:06:21.890+0200 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-12-01T14:06:21.890+0200 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-12-01T14:06:21.890+0200 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=469M,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),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten]
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten]
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten]
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten]
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 7783 processes, 65536 files. Number of processes should be at least 32768 : 0.5 times number of files.
2017-12-01T14:06:21.907+0200 I CONTROL [initandlisten]
2017-12-01T14:06:21.911+0200 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2017-12-01T14:06:21.916+0200 I INDEX [initandlisten] build index on: admin.system.version properties: { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" }
2017-12-01T14:06:21.916+0200 I INDEX [initandlisten] building index using bulk method; build may temporarily use up to 500 megabytes of RAM
2017-12-01T14:06:21.916+0200 I INDEX [initandlisten] build index done. scanned 0 total records. 0 secs
2017-12-01T14:06:21.916+0200 I COMMAND [initandlisten] setting featureCompatibilityVersion to 3.4
2017-12-01T14:06:21.917+0200 I NETWORK [thread1] waiting for connections on port 27017
SvPupok
попробуй открыть второй терминал и подключиться к порту 27017
SvPupok
коллеги, подскажите плз, имею базу в шардированном кластере, с шардированными коллекциями. я так понял, что в кластере профилирование запросов не работает? и надо его включать на каждом репликасете?
Alexandr
Коллеги, приветствую!
Подскажите, как закрыть внешний доступ к монго, поднятой в докер контейнере?
Ubuntu 16.04
Alexandr
ufw deny 27017 не сработал 🙁
Alexandr
нет, но сейчас такая возможность есть
Alexandr
не получается эту вохможность закрыть
Slava
можно запустить контейнер без -p опции, тогда никто не подлючится к монге, это простой путь
Alexandr
даже с локалхоста?)
Alexandr
Сейчас контейнер запускается через docker compose вот таким способом
Alexandr
Slava
даже с локалхоста, можно так же попробвать такой вариант docker run -p 127.0.0.1:27017:27017
Slava
попробуйте убрать директиву ports. Тогда все приложения которые хотят доступа к монге должны запускаться внутри сети network