Aleksey
забирать из этой ноды и сейвить сразу в шардед кластер
Alexandr
самому писать - не знаю как...
Alexandr
Есть может быть какие-то примеры подобного?..
Aleksey
а программистов нет?
Aleksey
кто писал это чудо
Aleksey
для них подобный код - вопрос половины рабочего дня КМК
Alexandr
я с ними не знаком еще.
Alexandr
Пока знаю только руководителя проекта. Попробую конечно сейчас выкляньчить написание такого решения ибо в будущем явно не раз пригодится
Alexandr
Хотя может проще самому написать...
Alexandr
Но что-то мне подсказывает, что в данной ситуации всетаки быстрее будет каталог с данными перекинуть
Aleksey
Хотя может проще самому написать...
ой не факт. еще же листинг файлов надо получить както. (не уверен что в гридфс он есть в удобном виде - но не писал под него ничего, не берусь утверждать)
Alexandr
так и есть - совпадают полностью
Slava
Привет
как выгрузиьт запис монги в цсв ?
mongoexport -d test -c user -q '{ coins: { $elemMatch: { "id":"30","amount":0}}}' --csv -f first_name,last_name,title --out exportdir/myRecords.json
вот нагуглил но где писать это?
Андрей
Viktar
Подскажите в агрегации лимит работает после того как будет фетч всех документов подхоящих под условие?
Viktar
db.addressCatalog.aggregate([
{
"$geoNear": {
"near": {
"type": "Point",
"coordinates": [
-81.214015,
33.984846
]
},
"distanceField": "dist.calculated",
"maxDistance": 200,
"query": {},
"includeLocs": "dist.location",
"spherical": true
}
},
{
"$limit": 50
}
])
LUVERISE
Здравствуйте, помоги мне, подскажите как использовать setInterval вместе с MongoDB
𝚂𝚑𝚞𝚔𝚑𝚊
привет, у меня есть populate перед(post) ‘findOne’, в некоторых роутах нужно изменить параметры populate как это сделать?
Alexandr
Viktar
yopp
Отлично. чтение остаётся
Только если запретить всем клиента писать. Любая операция записи заблокирует очеред команд
Viktar
я сейчас блокирую запись через роль read
Viktar
Подскажите, можно в монге сагрегировать статистику - какие какие есть поля - значение - количество значений
{
field1: {
value1: 5,
value2: 10
},
field2: {
value1: 7,
value2: 50
},
....
field: {
value1: 25,
value2: 30
}
}
Viktar
ну и исключить такие поля как id и которые всегда будут заполнены, уникальными значениями
Viktar
коллекция плоская, key-value
Alexandr
Уважаемые знатоки, подскажите пожалуйста, что за проблема: создал для базы пользователя через mongos, соответственно и пароль указал. Если приложение подключается с указанием логина и пароля, то авторизация не проходит. А если просто адрес и порт указать, то все работает. Надо явно сказать, что теперь только с авторизацией ходим? Если так, то как это сделать? Я нахожу только инструкции о том, как пользователя создать
Дмитрий
Alexandr
база то сконфигурирована под аутентификацию?
Делал так: db.createUser(
{
user: "myUserAdmin",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "readWrite", db: "myBase" } ]
}
)
Alexandr
При входе пишет Access control is not enabled for the database
Alexandr
Т.е. видимо не сконфигурирована база под авторизацию
Дмитрий
Alexandr
mongod $OPTIONS --shardsvr
Alexandr
я так понимаю, что надо в строку запуска —auth добавить?
Alexandr
А с самой базой надо что-то делать кроме создания пользователя?
Alexandr
И надо ли что-то делать с mongos? Строку запуска править например...
Alexandr
Дмитрий
в официальных доках
Alexandr
Кажется нашел. правильно понимаю, как только я включу авторизацию, у меня не только пароль начнут запрашивать, но и кластер рассыплется т.к. авторизации между узлами нет?
LUVERISE
Друзья, подскажите как из коллекции вывести список всех значений по 1 переменной или вывести только 5 самых больших по одной переменной по значению
Дмитрий
LUVERISE
Андрей
Товарищи, кто строил HA кластер на 2 ДЦ? Какой деплой лучше всего выбрать? На старте имею 3 хоста на одной стороне. Хочу эту сторону потушить и иметь праймари со вторичной репликой на той стороне, потом поднять ставший недоступным набор реплик и заиметь праймари там, где было.
✙ Nikita
Подскажите, если я буду выбирать какой то большой документ из бд и укажу что мне нужные только несколько полей, ( db.stuff.findOne({_id: ObjectId('...')}, {title: 1, date: 1}) ) - то это будет эффективно? имею ввиду монга считатет только эти поля или будет грузить весь документ и потом из него фильтровать не нужные поля?
Nick
✙ Nikita
Slava
✙ Nikita
Kirill
Всем привет, подскажите как суммировать FinalCharge в одну сумму со всех объектов в mongoose, использую подобную конструкцию, но безрезультатно
{
$group: {
_id: null,
TotalFinalCharge: {
$sum: "$Payment.FinalCharge",
},
},
},
{
"_id": "BinData(3,\"//7WOpUUAUaKer/Ljh/HZA==\")",
"Payment": {
"FinalCharge": "28.19"
},
"Total": 6
},
{
"_id": "BinData(3,\"//tR5stoj0G0Horpq7fkWQ==\")",
"Payment": {
"FinalCharge": "22.3"
},
"Total": 1
},
yopp
yopp
Всем привет, подскажите как суммировать FinalCharge в одну сумму со всех объектов в mongoose, использую подобную конструкцию, но безрезультатно
{
$group: {
_id: null,
TotalFinalCharge: {
$sum: "$Payment.FinalCharge",
},
},
},
{
"_id": "BinData(3,\"//7WOpUUAUaKer/Ljh/HZA==\")",
"Payment": {
"FinalCharge": "28.19"
},
"Total": 6
},
{
"_id": "BinData(3,\"//tR5stoj0G0Horpq7fkWQ==\")",
"Payment": {
"FinalCharge": "22.3"
},
"Total": 1
},
А как выглядит «безрезультатно»? :)
yopp
Сторанно что поле на выходе называется sum а не TotalFinalCharge
Kirill
Kirill
yopp
yopp
{
$group: {
_id: null,
TotalFinalCharge: {
$sum: { $toDecimal: "$Payment.FinalCharge" }
},
},
}
yopp
yopp
или вот что-то типа такого
yopp
{ $group: {
_id: null,
TotalFinalCharge: {
$sum: {
$add: [
{ $multiply: [ { $toInt: { $first: { $split: ["$Payment.FinalCharge", "."] }}}, 100] },
{ $multiply: [ { $toInt: { $last: { $split: ["$Payment.FinalCharge", "."] }}}, 1] }
]
}
},
},
}
yopp
и потом на клиенте делить на 100, переведя int в точный тип
yopp
{ $group: {
_id: null,
TotalFinalCharge: {
$sum: {
$add: [
{ $multiply: [ { $toInt: { $first: { $split: ["$Payment.FinalCharge", "."] }}}, 100] },
{ $multiply: [ { $toInt: { $last: { $split: ["$Payment.FinalCharge", "."] }}}, 1] }
]
}
},
},
}
вместо $first и $last надо $arrayElemAt, так как если в строке не будет точки, то $last и $first будут указывать на одно и тож число. плюс к этому для дробной части до $toInt нужно будет добавить $ifNull
Kirill
yopp
{ $group: {
_id: null,
TotalFinalCharge: {
$sum: {
$add: [
{ $multiply: [
{ $toInt:
{ $arrayElemAt: [
{ $split: ["$Payment.FinalCharge", "."] },
0
]
}
},
100]
},
{ $multiply: [
{ $toInt:
{ $ifNull: [
{ $arrayElemAt: [
{ $split: ["$Payment.FinalCharge", "."] },
1
]
},
0
]
}
},
1]
}
]
}
},
}
}
yopp
как-то так
Pavel
Ребят, никто не сталкивался с мультиклиентской архитектурой на mongodb (mongoose)?
Pavel
/
Pavel
/stat@combot
Susa
Каким методом можно подсчитать кол-во элементов в коллекции?
Дмитрий
Susa
count?)
Спасибо, теперь чувствую себя идиотом
Daniil
Спасибо, теперь чувствую себя идиотом
Ещё точнее:
https://docs.mongodb.com/manual/reference/method/db.collection.countDocuments/#db.collection.countDocuments
https://docs.mongodb.com/manual/reference/method/db.collection.estimatedDocumentCount/#db.collection.estimatedDocumentCount
Просто count все таки уже deprecated + там есть свои нюансы у этих двух методов
Николай
ВСем привет, есть вопрос. Использую mongoose, на каждый запрос к базе открываю соеднинение и закрываю его, как только все сделано. Сейчас словил ошибку - topology is closed, please connect. Пишут, что я, тип, закрываю соединение до того, как делаю запрос. Сталкивался кто с такой ошибкой?
Daniil
Daniil
В целом да, ошибка об этом говорит обычно