Nikita
в докере подними
Nikita
это быстрее и проще для тебя
SvPupok
либо в виртуальной среде.
Ilya
сорямба
Artem
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/
Artem
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition
Artem
Но как советуют, самый простой вариант докер. Ставишь докер для винды https://docs.docker.com/docker-for-windows/install/
Artem
потом запускаешь образ монги. Если надо, модифицируешь
Sm•ok
Petro
Всем привет, кто какую GUI юзает для визуализации и моделирование схем?
Nick
Робомонга для посмотреть в живую, остальное ручками
Мечтатель
Artem
Всем привет,хотел узнать ваше мнение насчет одной штуки. Я разработал один из продуктов с помощью которого можно быстро строить круд-админки для mongodb. Вопрос тут вот в чем вы бы стали такой штукой пользоваться?
Мечтатель
Artem
http://forumbusiness.net/showthread.php?p=234088#post234088
Artem
только там видео примеры с mysql
Artem
тоже самое только с монгой
Ilja
Есть, кто может помочь сейчас?
Artem
с чем?
Nick
Есть, кто может помочь сейчас?
Ты уже дважды пишешь по среди ночи, но до сих пор нп написал с чем тебе надо помочь, с тауим подходом никто тебе нп поможет
Javed
Hey guys need help
Javed
router.post('/favorites', authorize, (req,res) => {
User.update({token: req.token},{$push: {fav: req.body.id}}).then(() => {
return;
});
res.status(200).status({message: ${req.body.id} pushed to fav arrays });
})
Javed
почему express висет?
Javed
модел обновляется но ответа 200 не обрабатывается sorry for my Russian))
dexofan
.exec() ?
Javed
.exec() ?
Don't get you, можно подробнее,плз
dexofan
router.post('/favorites', authorize, (req,res) => {
User.update({token: req.token},{$push: {fav: req.body.id}}).exec().then(() => {
res.status(200).status({message: ${req.body.id} pushed to fav arrays });
});
})
Javed
will give it a try
Javed
спс
dexofan
will give it a try
You need to use callback or add exec() to turn query into Promise
Javed
Ya just googled about exec() and found out that .then in mongoose is not a Promise but a callback, I didnt knew about it
Javed
Thanks
dexofan
Javed
so this should be correct?
router.post('/favorites', authorize, async (req,res) => {
await User.update({token: req.token},{$push: {fav: req.body.id}}).exec().then(() => {
res.status(200).status({message: ${req.body.id} pushed to fav arrays });
});
})
Javed
or I need to put the await somewhere else
Nick
use ` to wrap code
dexofan
router.post('/favorites', authorize, *async* (req,res) => {
*await* User.update({token: req.token},{$push: {fav: req.body.id}}).exec();
res.status(200).status({message: ${req.body.id} pushed to fav arrays });
})
dexofan
You can add try/catch to prevent errors during updating
Javed
yeap, I have in my User Schema => fav: [{type: Number, unique: true}]
Javed
but it still updates the db with the same id
Javed
like so [1,1,1,1]
Vlad
Добрый день.
Есть вопрос по авторизации в базу.
Настроен кластер из n монг 3.6 (replica set) . В конфиге прописано:
security:
keyFile: /path/to/mongo/key
clusterAuthMode: keyFile
authorization: enabled
transitionToAuth: true
javascriptEnabled: false
Если выставить transitionToAuth в false, то ноды кластера не видят друг друга. И вне зависимости от значения можно установить соединение с монгой без авторизации.
Подскажите, пожалуйста, что необходимо выставить в конфиге, чтобы ноды кластера видели друг друга и работал авторизованный доступ для пользователей.
SvPupok
Vlad
Хм, права на ключ выставлены 600 и владелец mongodb или иные?
SvPupok
да, все так
Oleg
Коллеги, подскажите. А можно ли сделать чтобы реплика накатывалась с определенного мембера ?
SvPupok
можно
SvPupok
https://docs.mongodb.com/manual/reference/method/rs.syncFrom/#rs.syncFrom
Alexander
Всем привет. Только начал работать с монгой. Может кто подскажет, как можно замапить 1 поле в коллекциииспользуя внешние маппинги из переменной (не в коллекции)
Alexander
{
"$project":{
"group_id":"$group_id",
"group_order":{
"$let":{
"vars":{
"mappings":{
'5ac22919346e91203cb9b94e':0,
'5ac22919346e91203cb9b95c':1
},
"group_id":"$group_id",
},
"in":"$$mappings.$$group_id"
}
}
}
}
Alexander
в ин нельзя использовать переменную после точки
Alexander
ещё есть вариант с switch-case (использовать константы вместо экспрешенов), правда не уверен что в случае констант поиск по ключу будет быстр
yopp
Только составив самостоятельно запрос
Alexander
была бы функция навигации по объекту вместо навигации через точку, тогда в in можно было бы из маппингов вытянуть значение по ключу
Alexander
то есть с ипользованием функции в запросе?
Oleg
Alexander
switch не уверен что быстро будет работать даже если будут юзаться константы в кейсах, хотя в теории может к константам обращаться за О(1)
yopp
Расскажите лучше о том, что вы пытаетесь сделать
Alexander
есть объект, у него есть поле A со значениями 1, 2, 3, 4
Alexander
я хочу его поменять на другие значения
Alexander
1 -> a, 2 ->b, 3 -> c, 4->d
Alexander
допустим таких маппингов 100
Alexander
не уверен что switch по константе будет работать за O(1)
Alexander
думал заюзать let, но там надо в in указать переменная_маппинга.значение_А
Alexander
через точку такое не сделаешь
yopp
yopp
Проще всего уже готовый результат трансформировать, на клиенте
Alexander
это поле юзается для сортировки, можно и новое поле добавить, думал можно сделать такую трансформацию в запросе
Alexander
для доступа к элементу массива есть функция arrayElemAt
Alexander
а для доступа по ключу не вижу никакой функции
Alexander
кроме точки
Alexander
что не подходит
yopp
Для сортировки очень желательно использовать индексируемое поле
yopp
В вашем случае лучше поле добавить, это будет скорее всего быстрее
yopp
Сортировку лучше делать до трансформаций
Alexander
ok, спасибо за совет
Alexander
а в курсе в случае swithc-case последовательно происходит процесс матчинга по каждому кейсу, или в случае использования констант в кейсах свич будет перепрыгивать на нужный кейс сразу, а если не была найдена константа, то пытаться выполнитбь switchи с экспрешенами последовательно
Alexander
кажется это логичная оптимизация