Nick
работает
Andrew
работает
https://i.imgur.com/sJ9wgZv.png
Nick
с чег овы взяли что нет?
Nick
то что ваш язык не умеет не значит что не работает, обенрните в кавычки
Andrew
то что ваш язык не умеет не значит что не работает, обенрните в кавычки
а еще есть варианты? код превратится в уродство
Nick
пишите код правильно сразу - название полей - стринги и должны оборачиватсья в кавычки
Andrew
пишите код правильно сразу - название полей - стринги и должны оборачиватсья в кавычки
я ни разу в жизни не видел, чтобы кто то оборачивал это в кавычки, ни в одной документации, и ни в одном примере такого не было
Nick
пришло время столкнутсья с реальностью, где структура выходит за рамки наколенных поделок
Anonymous
Привет! Мне нужно выбрать в бд записи, НЕ СООТВЕТСТУЮЩИЕ заданному в процессе работы значению. Полистал документацию и единственное, что более-менее мне подходит - db.collection.aggregate, но там свои сложности. Может, кто знает метод попроще?
Nick
$ne
Nick
если правильно понял
Aleksei
Подскажите в каких случаях надо указывать в строке подключения replicaSet и всех members, если и так все работает если указать только мастера? Автофеловер не сработает?
Paul
Привет
Paul
к примеру я хочу публичный и приватный ключи, но приватный мне нельзя хранить будет ясно понятно, прийдеться хешировать к примеру придумать пароль, по которому бы его можно было рассшифровать как это реализовать в монго? (если что то неправильно дефакто простите)
yopp
Подскажите в каких случаях надо указывать в строке подключения replicaSet и всех members, если и так все работает если указать только мастера? Автофеловер не сработает?
всегда, когда подключаетесь к replicaSet если указать только одну ноду, то в случае если эта нода не доступна, то у клиента не будет возможности сделать discovery остального кластера: других адресов у него не будет. вместо перечисления адресов в URI можно использовать новую фичу DNS Seedlist: https://docs.mongodb.com/manual/reference/connection-string/#dns-seedlist-connection-format
Aleksei
всегда, когда подключаетесь к replicaSet если указать только одну ноду, то в случае если эта нода не доступна, то у клиента не будет возможности сделать discovery остального кластера: других адресов у него не будет. вместо перечисления адресов в URI можно использовать новую фичу DNS Seedlist: https://docs.mongodb.com/manual/reference/connection-string/#dns-seedlist-connection-format
Спасибо, возможно это решит одну из моих проблем : 1. Сейчас соединение не устанавливается есть хоть один хост не доступен. 2. Если приложение не в одной сети с бд, то если арбитр и реплика меняются местами (неведомо почему), то опять же отвал
yopp
Спасибо, возможно это решит одну из моих проблем : 1. Сейчас соединение не устанавливается есть хоть один хост не доступен. 2. Если приложение не в одной сети с бд, то если арбитр и реплика меняются местами (неведомо почему), то опять же отвал
1. вероятно какие-то проблемы с драйвером. какой вы используете? 2. вероятно dns неверно настроен и в разных сетях адреса резолвятся по разному. ну или если это по ip, то проблема с маршрутизацией
Paul
расскажите что вы пытаетесь сделать. пока ничего не понятно
Ну я хочу хранить пароли пользователей в монго через мангус, так что бы кто либо если и получил доступ к ресурсам на сервере, то не смог их взять
Aleksei
Nodejs mongo driver 3.1. Мастер реплика и арбитр в докер сети на другом сервере, порты проброшенный только у мастера и реплики,
Paul
Хочу что бы по пин коду можно было разгадать hash privat key и впоследствии динамически подствить в скрипт эти данные, что бы подписать транзакцию
Paul
https://www.npmjs.com/package/mongoose-bcrypt
здесь разве не вернет только тру или фалс?
yopp
значит вы хотите не аутентификацию
Paul
нужно что бы именно возвращало захешированные данные
yopp
хранить приватные ключи на своей стороне — очень плохая идея
yopp
эм. вы можете использовать bcrypt без обёртки
yopp
в этом случае вам будет доступен хеш от пароля
Paul
хранить приватные ключи на своей стороне — очень плохая идея
да вот поэтому и нужен какой то двухсторонний метод, что бы можно было воостановить приватный ключ
yopp
это очень плохая идея
Paul
это очень плохая идея
но вводить каждый раз 60байтовый код тоже не вариант))
Paul
да еще к примеру с телефона
yopp
не очень понятно какую проблему вы пытаетесь решить
yopp
если вам нужна аутентификация по паролю, то вам не нужно хранить обратимую версию пароля
Paul
Там есть такая тема как подпись транзакции она происходит с помощью приватного ключа
yopp
в этом случае эта тема не для этой группы, так как она не имеет никакого отношения к монге.
yopp
я уверен что кто-то уже решал проблему аутентификации по ключам от кошельков
yopp
спросите в профильных группах
Paul
как ее подписать то я понимаю
Paul
интересует вопрос именно шифрования/дешифрования по паролю если это возможно
Paul
а легкий экскурс если интересно здесь по подписи https://medium.com/@codetractio/inside-an-ethereum-transaction-fa94ffca912f
yopp
Nodejs mongo driver 3.1. Мастер реплика и арбитр в докер сети на другом сервере, порты проброшенный только у мастера и реплики,
мало информации. в случае с драйвером поэксперементируйте с таймаутами, например с connectTimeoutMS или попробуйте с connectWithNoPrimary. у вас современный официальный драйвер, с ним не должно быть проблем похоже что у вас какие-то проблемы с сетевой конфигурацией. убедитесь что всё везде корректно резолвится.
Aleksei
Спасибо, буду думать
yopp
интересует вопрос именно шифрования/дешифрования по паролю если это возможно
в монге нет инструментов для широфвания и дешифрования данных в документах. это не задача базы данных, это задача клиента. базу данных необходимо воспринимать как незащищённое хранилище, так что хранить там что-то открытым текстом не лучшая идея.
yopp
но я ещё раз повторю свою мысль: хранить чужие приватные ключи от кошельков на своей стороне — очень плохая идея.
yopp
Спасибо, буду думать
http://mongodb.github.io/node-mongodb-native/3.1/reference/connecting/connection-settings/#ensure-your-connection-string-is-valid-for-replica-sets
Max
Привет! У меня тут два вопроса наболело: 1. Можно ли в монге повесить индексы на вьюшки? я не смог нагуглить - мне это советует перфоманс адвизор в монггодб клауде 2. Есть монгуз который крутится в авс-лямбдах по крону 1 минута. при подключении к бд ловлю ошибку: MongoError: no connection available for operation and number of stored operation > 0
Max
хотя проверял - конекшенов свободных ещё полно, почему падает - не пойму
yopp
Привет! У меня тут два вопроса наболело: 1. Можно ли в монге повесить индексы на вьюшки? я не смог нагуглить - мне это советует перфоманс адвизор в монггодб клауде 2. Есть монгуз который крутится в авс-лямбдах по крону 1 минута. при подключении к бд ловлю ошибку: MongoError: no connection available for operation and number of stored operation > 0
1. Либо адвайзор не может отличить вьюшки от коллекции, либо он рекомендует создать индексы на коллекции из которой строятся вьюшки. Сами вьюшки эфемерны и по ним нельзя создать индекс https://docs.mongodb.com/manual/core/views/#index-use-and-sort-operations
yopp
2. https://github.com/Automattic/mongoose/issues/6975
yopp
Во втором случае больше похоже на проблемы с пулом соединений в драйвере
Sergey
Ну т. е. это даже не монга ответит, а ядро. Довольно легко переполнить backlog на сокете, которым монга слушает.
yopp
это не имеет отношения к сетевому стеку. это проблема с буфферизацией команд в драйвере: https://github.com/mongodb/node-mongodb-native/blob/79da11f220b567c2db2c956c51e76fa40b18acd6/lib/topologies/topology_base.js#L31
Max
спасибо , я убрал с конфига коннекшена пару параметров - и всё стало норм)
Max
вот
Max
options.bufferCommands = false; // Disable mongoose buffering options.bufferMaxEntries = 0; // and MongoDB driver buffering эти параметры выпилил
Max
@dd_bb 👆
yopp
Проверьте потом что в логах монги, чтоб убедиться что вы не закопали какую-то проблему :)
Anonymous
$ne
Спасибо)
Anonymous
Avin
😂👍
Anonymous
всем привет
Anonymous
ребята, помогите
Anonymous
я новичок
Anonymous
var express = require('express') var bodyParser = require('body-parser') var path = require('path') var app = express() var mongoose = require('mongoose') app.use(bodyParser.json()) app.use(bodyParser.urlencoded({extended:false})) app.use(express.static(path.join(__dirname, 'public'))) mongoose.connect('mongodb://localhost:3000/app', { useNewUrlParser: true })
Anonymous
в консоли Server Started on Port 3000... (node:90800) UnhandledPromiseRejectionWarning: #<Object> (node:90800) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:90800) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Anonymous
чувствую что то нет так с mongoose.connect я гуглила, но гугол не помог мне решить задачу
Anonymous
подскажите что я пишу не так
Anonymous
?
Oleg
Уверен, что монга на 3000 запущена?
Alexander
Привет. Посоветуйте GUI монги для MacOS
Aga
Robo 3T
Nick
чувствую что то нет так с mongoose.connect я гуглила, но гугол не помог мне решить задачу
как и сказали выше порт монги скорее всего неправильно задан, по умолчанию он 27017, попробуйте его указать