Size: a a a

2020 June 23

N

Nik Sh in Go-go!
db.getCollection('Orders').update(
  { },
  { $set: { "list.$[index].StatContr" : true } },
  { multi: true,
    arrayFilters: [ { "index.Contract": { $in: [ "ааа", "ббб", "ссс"] } } ]
  }
)
источник

N

Nik Sh in Go-go!
как данную конструкцию конвертировать в collect.UpdateMany
источник

N

Nik Sh in Go-go!
прововал в нечто такое
источник

N

Nik Sh in Go-go!
filter := bson.M{"list.$[index].Contract": bson.M{"$in": contr}}
 opt := options.Update().SetArrayFilters(options.ArrayFilters{Filters: {"index.Contract": bson.M{"$in": contr}}})

 update := bson.M{"$set": bson.M{"list.StatContr": true}}

 result, err := collect.UpdateMany(context.TODO(), filter, update, opt)
источник

N

Nik Sh in Go-go!
но результат отрицательный, без опции не понимает index, а как опции настроить?
источник

ВС

Владимир Столяров... in Go-go!
в update же надо list.$[index].StatContr использовать
источник

ВС

Владимир Столяров... in Go-go!
и filter не нужен скорее всего
источник

N

Nik Sh in Go-go!
Изначально так было - contr = []string{"aaa", "bbb", "ccc"} filter := bson.M{"list.$[index].Contract": bson.M{"$in": contr}}
update := bson.M{"$set": bson.M{"index.StatContr": true}} , суть проблемы есть массив структур в документе, с двумя полями именем и статусом, надо отобрать по имени и изменить на статус true,
источник

S

Serj in Go-go!
подскажите, как то можно понять, какие интерфейсы реализует структура? кроме ручного поиска по исходникам.
задался вопросом, почему os.Open реализует интерфейс io.Reader, в итоге в исходниках стд библиотеки откопал строку с реализацией метода.
но кроме ручного поиска есть возможность понять, какие интерфейсы реализуются? в доке пакета это не отмечается
источник

AK

Anton Kucherov in Go-go!
Serj
подскажите, как то можно понять, какие интерфейсы реализует структура? кроме ручного поиска по исходникам.
задался вопросом, почему os.Open реализует интерфейс io.Reader, в итоге в исходниках стд библиотеки откопал строку с реализацией метода.
но кроме ручного поиска есть возможность понять, какие интерфейсы реализуются? в доке пакета это не отмечается
А собственно зачем вам это знание само по себе?
источник

S

Serj in Go-go!
Anton Kucherov
А собственно зачем вам это знание само по себе?
два значения:
1. из интереса
2. читал доку по работе с изображениями и увидел, что метрд Decoder принимает тип io.Reader
в одной из сторонних библиотек увидел, что в Decoder передается os.Open, т.е. File
и я не понимал, почему так можно было сделать - передать File где необходим Reader
источник

GP

Georgy Perevozchikov in Go-go!
Возник вопрос.
Кто знает как yandex disk работает когда я загружаю туда файл?
Я открыл браезер.
Выбрал файл для загрузки (до 2 гб)
И далее у меня такая анимация с % сколько загружено)

Что происходит со стороны бекенда. Я просто шлю multipart raw файл post запросом?

P.s. Хочу сделать rest api для того чтобы можно было заливать файлы (фотографии), отдавать их на анализ нейронке, возвращать результат. Как такое лучше сделать?)
источник

AK

Anton Kucherov in Go-go!
Serj
два значения:
1. из интереса
2. читал доку по работе с изображениями и увидел, что метрд Decoder принимает тип io.Reader
в одной из сторонних библиотек увидел, что в Decoder передается os.Open, т.е. File
и я не понимал, почему так можно было сделать - передать File где необходим Reader
1. Можно использовать автоматический поиск. Например Goland (IDE от JetBrains) умеет показывать все реализации того или иного интерфейса в рамках проекта (Не уверен, но может и VSCode умеет). Так же вполне возможно погуглить, возможно есть какой то тулинг который делает то же самое.
2. Ну чтобы это понимать, достаточно понимания того что в Go интерфейсы разрешаются неявно. Т.е. если у вашей структуры есть все методы реализующие какой то интерфейс, эту структуру можно подсунуть везде где используется этот интерфейс.
источник

S

Serj in Go-go!
Anton Kucherov
1. Можно использовать автоматический поиск. Например Goland (IDE от JetBrains) умеет показывать все реализации того или иного интерфейса в рамках проекта (Не уверен, но может и VSCode умеет). Так же вполне возможно погуглить, возможно есть какой то тулинг который делает то же самое.
2. Ну чтобы это понимать, достаточно понимания того что в Go интерфейсы разрешаются неявно. Т.е. если у вашей структуры есть все методы реализующие какой то интерфейс, эту структуру можно подсунуть везде где используется этот интерфейс.
goland не вариант, я бомж. поэтому устроюсь джуном на первую го-работу и куплю) попробую нагуглить тулинг.
про интерфейсы я читал и знаю теорию, но вот думал вдруг в доке где то помечается, и я не увидел такие заметки для структур)
источник

VS

Vladimir Smirnov in Go-go!
Serj
goland не вариант, я бомж. поэтому устроюсь джуном на первую го-работу и куплю) попробую нагуглить тулинг.
про интерфейсы я читал и знаю теорию, но вот думал вдруг в доке где то помечается, и я не увидел такие заметки для структур)
Goland-eap
источник

VS

Vladimir Smirnov in Go-go!
И если у тебя есть опенсорс проекты на го, можно у них попросить лицензию на опенсорс
источник

S

Serj in Go-go!
Vladimir Smirnov
И если у тебя есть опенсорс проекты на го, можно у них попросить лицензию на опенсорс
у джунов нет проектов :d
источник

БВ

Буйный Виталя... in Go-go!
Serj
подскажите, как то можно понять, какие интерфейсы реализует структура? кроме ручного поиска по исходникам.
задался вопросом, почему os.Open реализует интерфейс io.Reader, в итоге в исходниках стд библиотеки откопал строку с реализацией метода.
но кроме ручного поиска есть возможность понять, какие интерфейсы реализуются? в доке пакета это не отмечается
Тебе это для информации или ты хочешь это использовать?
источник

VM

Vladislav Milenin in Go-go!
Georgy Perevozchikov
Возник вопрос.
Кто знает как yandex disk работает когда я загружаю туда файл?
Я открыл браезер.
Выбрал файл для загрузки (до 2 гб)
И далее у меня такая анимация с % сколько загружено)

Что происходит со стороны бекенда. Я просто шлю multipart raw файл post запросом?

P.s. Хочу сделать rest api для того чтобы можно было заливать файлы (фотографии), отдавать их на анализ нейронке, возвращать результат. Как такое лучше сделать?)
файл делится на участки байтов, по завершении загрузки каждого каунтер увеличивается
источник

VS

Vladimir Smirnov in Go-go!
Serj
у джунов нет проектов :d
А зря
источник