Artem
?
Artem
Или не как
Artem
?
Bohdan
можно достать объект перед апдейтом и смотреть сколько строк в нем сейчас
Artem
@BohdanPhoenix а если одним запросом
Bohdan
ну т.е. если ты перед добавлением строк будешь на бекенде чекать всё это, тогда у тебя задача сводится к арифметике твоего языка программирования
Bohdan
а, одним запросом
Bohdan
посмотри еще в сторону такой штуки как stored javascript в монге, но я на 100% уверен что если тебе нужно реализовать какую-то дополнительную логику в запросе, тогда что-то не так с архитектурой
yopp
Max
Подскажите пожалуйста, в инете почти нет информации об ошибке, что значит ошибка: Cache Reader No keys found for HMAC that is valid for time: { ts: Timestamp(1573966498, 90) } with id: 0"} использую php-mongodb модуль для апача последней версии, база данных 4.0.5 авторизация через ssl
Artem
@dd_bb Большое Спасибо, я уже разобрался
yopp
yopp
4.2.1 (Oct 18) ◦ 4.0.13 (Oct 19)
• Плейграунд для запросов
• Документация
• Официальные курсы по MongoDB
Stable: 4.2.1 ◦ Bugfix: 4.0.13
Legacy: 3.6.15 (Nov 6) ◦ EOL: 3.4.23 (Sep 16, 💀 Jan ‘20)
#MongoTimes: Яндекс опубликовал записи с митапа
По вопросам покупки Enterprise лицензии пишите @dd_bb
☠️: 3.2.21 (Dec ’18), 3.0.15 (May ’17)
yopp
MongoDB 3.6.15 — https://docs.mongodb.com/manual/release-notes/3.6/
Сергей
Здравствуйте , хотел спросить , у меня задача стоит скачать с гугл таблицы данные и засунуть в базу mongodb я данные получил а как обратиться к названию таблицы где пробел между названием колонны?
Dmitriy
Сергей
Aleksandr
foremans['Дата приема на работу']
Сергей
Сергей
Сергей
Aleksandr
надо скопировать и вставить заголовок столбца
Aleksandr
мб там пробел лишний или буква латинская
Aleksandr
судя по тому, что .прораб работает, а в заголовке оно с большой буквы, то либа переименовывает
Сергей
ставите первую строку не в виде:
Прораб / Фамилия Имя Отчество / Заработная Плата / и т.д.
а добавляете над текущей первой с человеческими текстами еще строку и в нее вносите:
propab / fio / zp / и т.д. латинские простые ключи
и читаете в коде строчки по именам латинских ключей + игнорируете строку [0] в массиве строк (т.к. это строка "человеческих" заголовков)
Aleksandr
мб там и пробелы на _ заменяются
Сергей
Aleksandr
не надо добавлять ничего, надо узнать как там либа назвала столбец этот
Aleksandr
console.log(Obect.keys(row)) сделай
Сергей
Aleksandr
ну вот
Aleksandr
.датаприеманаработу
Сергей
Dmitriy
А зачем вам вообще заголовки таблицы гугловой? Сделайте маппинг полей таблицы на поля объекта монги. Я не уверен, что даже если вы уберёт пробелы использовать, что использовать кирллицу в названиях ключей это хорошая идея (хотя бы из-за объёма тех же ключей, ну и возможных проблем с поиском по ним в дальнейшем)
Сергей
Сергей
Dmitriy
И где в задаче про то что надо брать кирриллицу. Соответствовать - это не значит копировать
Dmitriy
Дата приёма на работу == date_of_employee вот соответствие с соблюдением нормального style guide
Сергей
Dmitriy
Сергей
Dmitriy
Сергей
Маппинг)
ну по хорошему мне нужно написать массив коректных свойств, потом перебрать foremans и по индексу брать новый ключ из массива и присваивать ему значение?
Сергей
Сергей
Dmitriy
по тз забыли поле created_at :)
Dmitriy
в остальном да, примерно так
Сергей
по тз забыли поле created_at :)
а чтоб это поле создать я как должен сделать? поле даты загрузки информации сделать,
с гугловых данных где то найти ?
Сергей
[
SpreadsheetRow {
_xml: "<entry xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:gsx='http://schemas.google.com/s
preadsheets/2006/extended' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='&quot;EwBBLW0tYCt7ImA_W0wLTk1Q&quot;'><id>https://spreadsheets.googl
e.com/feeds/list/1F_tXXdFUO60xfF4kX5qmSWA-gxq_BM39D6VEMmoStKA/od6/cokwr</id><updated>2019-11-19T10:20:27.980Z</updated><category scheme='http://sche
mas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#list'/><title>Иванов Михаил Сергеевич</title><content>датаприема
наработу: 28.02.2018, датаувольнения: 01.01.2019, количествослетов: 5, количествоуспешныхобъектов: 90</content><link rel='self' type='application/at
om+xml' href='https://spreadsheets.google.com/feeds/list/1F_tXXdFUO60xfF4kX5qmSWA-gxq_BM39D6VEMmoStKA/od6/private/full/cokwr'/><gsx:прораб>Иванов Ми
хаил Сергеевич</gsx:прораб><gsx:датаприеманаработу>28.02.2018</gsx:датаприеманаработу><gsx:датаувольнения>01.01.2019</gsx:датаувольнения><gsx:количе
ствослетов>5</gsx:количествослетов><gsx:количествоуспешныхобъектов>90</gsx:количествоуспешныхобъектов></entry>",
id: 'https://spreadsheets.google.com/feeds/list/1F_tXXdFUO60xfF4kX5qmSWA-gxq_BM39D6VEMmoStKA/od6/cokwr',
_links: [
self: 'https://spreadsheets.google.com/feeds/list/1F_tXXdFUO60xfF4kX5qmSWA-gxq_BM39D6VEMmoStKA/od6/private/full/cokwr'
],
'прораб': 'Иванов Михаил Сергеевич',
'датаприеманаработу': '28.02.2018',
'датаувольнения': '01.01.2019',
'количествослетов': '5',
'количествоуспешныхобъектов': '90',
save: [Function (anonymous)],
del: [Function (anonymous)]
}
]
вот данные
Сергей
обратиться к обьекту и с регулярки вырезать 2019-11-19T10:20:27.980Z? и записать в переменную created_at?
Aleksei
А где почитать как под капотом работает change stream? Это просто keep alive соединение из пула и монга туда пушит?
есть у кого опыт мониторинга стримов?
Dmitriy
[
SpreadsheetRow {
_xml: "<entry xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:gsx='http://schemas.google.com/s
preadsheets/2006/extended' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='&quot;EwBBLW0tYCt7ImA_W0wLTk1Q&quot;'><id>https://spreadsheets.googl
e.com/feeds/list/1F_tXXdFUO60xfF4kX5qmSWA-gxq_BM39D6VEMmoStKA/od6/cokwr</id><updated>2019-11-19T10:20:27.980Z</updated><category scheme='http://sche
mas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#list'/><title>Иванов Михаил Сергеевич</title><content>датаприема
наработу: 28.02.2018, датаувольнения: 01.01.2019, количествослетов: 5, количествоуспешныхобъектов: 90</content><link rel='self' type='application/at
om+xml' href='https://spreadsheets.google.com/feeds/list/1F_tXXdFUO60xfF4kX5qmSWA-gxq_BM39D6VEMmoStKA/od6/private/full/cokwr'/><gsx:прораб>Иванов Ми
хаил Сергеевич</gsx:прораб><gsx:датаприеманаработу>28.02.2018</gsx:датаприеманаработу><gsx:датаувольнения>01.01.2019</gsx:датаувольнения><gsx:количе
ствослетов>5</gsx:количествослетов><gsx:количествоуспешныхобъектов>90</gsx:количествоуспешныхобъектов></entry>",
id: 'https://spreadsheets.google.com/feeds/list/1F_tXXdFUO60xfF4kX5qmSWA-gxq_BM39D6VEMmoStKA/od6/cokwr',
_links: [
self: 'https://spreadsheets.google.com/feeds/list/1F_tXXdFUO60xfF4kX5qmSWA-gxq_BM39D6VEMmoStKA/od6/private/full/cokwr'
],
'прораб': 'Иванов Михаил Сергеевич',
'датаприеманаработу': '28.02.2018',
'датаувольнения': '01.01.2019',
'количествослетов': '5',
'количествоуспешныхобъектов': '90',
save: [Function (anonymous)],
del: [Function (anonymous)]
}
]
вот данные
ну предположу что на js это делается так)
{
....
"created_at": new Date()
....
}
а конкретно в вашем коде вам виднее как это добавить ;)
Сергей
Сергей
Сергей
в 71 строке переменная resultArr ъранит в себе массив с обьектами
Mike
асинхронность, res.send перемести внутрь колбека после 83 строки
Сергей
Dmitriy
ну судя по всему у вас там нет ошибки, а в базе ничего не появляется при этом?
Сергей
Сергей
Bohdan
проверь конекшн свой, может у тебя код элементарно не взаимодействует с БД
Mike
в консоль же выводится result
Сергей
Сергей
Dmitriy
нет в базе теже данные которые записывал ручками
ну еще раз повторюсь я не спец в js, но чтобы я сделал:
1) проверил бы конект с базой, может элементарно вы пишете в другую базу не в ту, в которую смотрите
2) если пункт 1 нет, то включил бы profiler на монге и посмотрел, что происходит с вашими запросами. приходят они, не приходят. если приходят то чем заканчиваются.
3) соответственно если запросы не доходят, то см. п.1
4) если запросы доходят, но падают с чем-то, что вам не возвращает драйвер в код, то прокляните драйвер и смотрите по профалеру монги как поправить :)
Mike
вот же у тебя выводится в консоль result с чего решил что не пушится
Dmitriy
ну и номером ноль, я бы посмотрел на доку к драйверу, может быть там есть какой-то debug режим, который вам отобразить трассировку со стороны приложения
Сергей
секундочку сейчас коллекцию очищу заного создам и отпишусь
Сергей
Извиняюсь , запушилось
Сергей
до этого тоже самое делал без изменений было
Mike
ну ты понял почему?
Mike
базу подучи блин, ну куда тебе а
Сергей
ну ты понял почему?
я не спорю но мне тз до 7:30 сдать надо , пытаюсь сделать любыми способами , я монго дб даже сутки не юзаю уж извини
Dmitriy
до этого тоже самое делал без изменений было
я опять же хз как работает драйвер в js, но предположу что могла быть ситуация, что у вас коллекция называлась в нижнем регистре, а в последнем варианте кода вы коллекцию назвали с заглавной буквы. и если у вас драйвер не умеет на лету создавать коллекции (тут я хз), то могло и писаться в никуда. хотя конечно это крайне странное было бы поведение, надеюсь что в js все не настолько плохо, я бы лучше вернул ошибку чем в тихую ничего не делал)
Mike
Dmitriy