Maksym
А мне надо чтобы было как в txt1 то есть переносом строки
Liman
почему к mongodb приконектиться не могу?
Avin
и всё будет как ты хочешь
Maksym
Avin
всмысле не красивое) \n это спец символ с кодом 10 (или 13 не помню), а в тексте "\n" это два разных символа)
Maksym
Ну да, эх ладно, сделаю через замену
Avin
никаким чудесным образом оно из одного в другое не превратиться если не сделать реплейс
Maksym
Понял, спасибо, я думал есть там какой-то енкодер|декодер|парсер встроенный.
Роман
Коллеги, доброй ночи.
Роман
Кто подскажет лучший multiselect plugin jquery ?
Нужно создать такое:
https://drive.google.com/file/d/1RoIG-81mKAqN5HU8NfVFUEdAOoLe7brf/view
Anonymous
((решение, конечно, но не очень красивое
Вообще то надо так .replace(/\\n/g, '\n'). Потому что replace("\n") не работает глобально и заменит лишь первый попавшийся совпарший символ
Maksym
dima
Привет всем. Парни, по mongoDB тут можно небольшой вопрос задать?
dima
Исходя из того что .find (выборка из бд) не принимает колбек, то вопрос, насколько это кривой код для продакшена?
MongoClient.connect( uri, { useNewUrlParser: true })
.then(client => {
const todoList = {};
(async () => {
const cursor = await client
.db("todo-app")
.collection("my-todos")
.find({}, null);
await cursor.forEach(todo => {
todoList[todo.text] = { ...todo };
});
res.end(JSON.stringify(todoList));
})();
});
Просто решил в теле .then когда получаем клиента ипользовать IIFE и await/async, а то пока курсор придет, мне надо отдавать клиенту выборку, ну и понятно что .find не приходит вовремя без промиса
UPD: пока проверял, дошло, что еще и forEach отрабатывает позже чем я возвращаю res.
Игорь
привет
Anonymous
Всем привет, ребят, подскажите пожалуйста как поставить timeout для post запроса, чтобы браузер не обрывал запрос после 2-х минут ожидания, а ждал час?
Это критически важно сейчас!
Avin
Исходя из того что .find (выборка из бд) не принимает колбек, то вопрос, насколько это кривой код для продакшена?
MongoClient.connect( uri, { useNewUrlParser: true })
.then(client => {
const todoList = {};
(async () => {
const cursor = await client
.db("todo-app")
.collection("my-todos")
.find({}, null);
await cursor.forEach(todo => {
todoList[todo.text] = { ...todo };
});
res.end(JSON.stringify(todoList));
})();
});
Просто решил в теле .then когда получаем клиента ипользовать IIFE и await/async, а то пока курсор придет, мне надо отдавать клиенту выборку, ну и понятно что .find не приходит вовремя без промиса
UPD: пока проверял, дошло, что еще и forEach отрабатывает позже чем я возвращаю res.
а почему у вас async прям в середину функции врывается))) помоему вот так было бы лучше
MongoClient.connect( uri, { useNewUrlParser: true })
.then(async client => {
const todoList = {};
const cursor = await client
.db("todo-app")
.collection("my-todos")
.find({}, null);
await cursor.forEach(todo => {
todoList[todo.text] = { ...todo };
});
res.end(JSON.stringify(todoList));
});
Avin
Empty
Ребят, понимаю что не в тему, кто по вёрстке на вопрос может ответить?
Avin
Avin
await cursor.forEach(todo => {
todoList[todo.text] = { ...todo };
});
dima
тут await разве нужен?
Да, вчера проверял и получается что без него у меня в res.end(JSON.stringify(todoList)); летит пустой объект. Т.е. он отрабатывает быстрее чем forEach
Avin
await с forEach вроде не работал никогда)
dima
dima
await с forEach вроде не работал никогда)
Вполне возможно, что я не допонимаю доконца пока как работает mongoDB и то что я написал - это костыль. Но я проверил еще раз, просто убрав await перед forEach. Вот результаты
dima
С await:
dima
Без await
Avin
аа, ну значит всё правильно) видимо он у них там свой forEach монговский спецефический
Avin
былоб за что))
Dika
Можешь просто посмотреть, что возвращает forEach
Avin
Народ, накидайте звездочек плиз - я старался (есть страничка с демками) 😄 https://github.com/avin/react-vt-table
Anonymous
Avin
ну да))
Avin
а то я комплексую
Avin
😊
Иван
Приветствую. На Хабре есть статья https://habr.com/post/134139/ к несчастью пример рабочий не открывается. Понимаю что вопрос дурацкий, но как это реализовать... ни фига не получается.
Иван
Вот что я пытаюсь запустить
Иван
Иван
в чем ошибка-то ?:)
dima
Можешь просто посмотреть, что возвращает forEach
Каждый раз возвращает объект, т.е. мою туду, котрую я и сторю в результирующий todoList.
Возможно тут загвоздка в курсоре. Дело в том что при выборке mongodb возвращает результат - the cursor query object (источник http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#find).
Пишут что find(query, options) - Creates a cursor for a query that can be used to iterate over results from MongoDB. Но что там и как происходит при итерации я чет не догоняю. Хотя там еще много options. Ща буду ковырять
Avin
@dimas_x вот еще такой изысканный вариант нагуглился
const cursor = db.collection("foo").find({});
while(await cursor.hasNext()) {
const doc = await cursor.next();
// process doc here
}
dima
Иван
dima
Avin
@dimas_x 👍
Avin
@dimas_x только я бы сделал так))
MongoClient.connect( uri, { useNewUrlParser: true })
.then(async client => {
const todoList = {};
const cursor = await client
.db("todo-app")
.collection("my-todos")
.find({}, null);
while (await cursor.hasNext()) {
const todo = await cursor.next();
todoList[todo.text] = { ...todo }
}
res.end(JSON.stringify(todoList));
});
зачем вам эти макароны с then когда вы используете прелести async/await
Иван
dima
Anonymous
Ребят, прошу помощи. Подскажите пожалуйста, как со стороны фронта можно увеличить время пендинга post запроса?
Anonymous
timeout не помогает. Максимум 4 минуты и всё.
Igor
Anonymous
юзай вебсокеты
Со стороны бэка переделывать что-то нужно при этом?
Igor
Igor
либо через прокси, если у тебя нет доступа к тому бэку
Anonymous
да
Тогда не пойдёт, задумался о лонг-полинг.
Anonymous
Igor
по поводу прокси можно чуть подробнее?
ну я подозреваю, что 4 минуты - ограничение браузера, которое никак не пофиксить. поэтому можно запилить свой бэк, запрос идет на него через вебсокет, он дергает пост с уже неограниченным таймаутом, и результат отдает через вебсокет опять же. ну либо лонгполлинг, да :)
но это в случае когда нет возможности изменить бэк, который отдает данные за 4+ минуты, и если я вообще прав про ограничение браузера)
Avin
негоже серверу отдавать данные по пол часа)) стоит призадумаца об архитектуре серверной части. Если сервер не ваш - тогда тока костыли как вот предложил @Igor - по другому никак
Anonymous
Sergey
Привет, ребята, есть те, кто практикует игровую разработку на html, css, js? Напишите в лс, пожалуйста
Avin
Anonymous
Изучаю эту тему сегодня весь день, пришел к выводу что:
1) Время пендинга устанавливается браузером, его менять никак нельзя.
2) Лонг-поллинг не подходит, т.к. запрос один, это не чат и не игра.
3) WebSocket'ы, для них нужно накидать свою прослойку. Т.е. развернуть мини-сервер на ноде, и обеспечить работу web-socket'ов с фронта, видимо этим и займусь.
Главное задевопсить всё потом.
Artem
Можно в ответ на создание запроса получать, например, requestId и потом периодически обращаться к серверу с этим id, готов ли результат
Anton
Привет всем, кто нибудь может по mongoose подсказать 7
CherryTea
Victor
Artem
Вебсокеты в TLS умеют через wss://hostname
Maksim
Ivan
Элементы сортируются путём преобразования их в строки и сравнения строк в порядке следования кодовых точек Unicode
Avin
жиза)) [1, 10, 2,3].sort((a,b) => a-b)
Anonymous
Всем привет. Посоветуйте альтернативу onepage-scroll или fullPage.js для прокручивания секций слайдами
Viacheslav!
Подскажите, как лучще реализовать сжатие js при деплое?
Viacheslav!
Типо перебирать все файлы и скармливать сжимателю?)
Avin
а сборщик какой у вас?
Avin
если никакого - тогда вот через эту штуку прогоните https://github.com/mishoo/UglifyJS2