Size: a a a

2020 October 05

J

Jbcui in Go-go!
Ragnar Lodbrok
А тип называется именно ObjectId? Может последняя D должна быть большой?
Все как в документации
источник

M

Mikhail in Go-go!
Jbcui
Всем привет!
подскажите, пожалуйста, пытаюсь достать из монго айди поста

   getPostId:=func (id bson.ObjectId) {
 collection := client.Database("my_database").Collection("Information about host")
 filter := bson.D{}
 var data Data
 err := collection.FindOne(context.TODO(), filter).Decode(&data)
 if err != nil {
  log.Fatal(err)
 }
 fmt.Println("Found post with title", data.Host)
}

в передаче аргумента id bson.ObjectId пишет  undefined: bson.ObjectId
но к примеру когда я вставляю пост, id поста определяется и в базе его видно
У тебя будет что-то типа err := collection.FindOne(context.TODO(), bson.M{"_id": id}).Decode(&data) внутри этой функции
источник

M

Mikhail in Go-go!
источник

J

Jbcui in Go-go!
спасибо, попробую разобраться
источник

RL

Ragnar Lodbrok in Go-go!
Судя по всему официальная документация устарела. Посмотрите документацию на гитхабе, там наверняка есть примеры
источник

J

Jbcui in Go-go!
только вот незадача, мне нужо чтобы Id генерировался самостоятельно, а все примеры либо не рабочие, либо генерируют айди в ручную из строки
источник

M

Mikhail in Go-go!
Jbcui
только вот незадача, мне нужо чтобы Id генерировался самостоятельно, а все примеры либо не рабочие, либо генерируют айди в ручную из строки
Если _id не указан, он будет сам генериться
источник

J

Jbcui in Go-go!
например функция InsertOne() возвращает сама айдишник, но достать его никак не получается, потому что структуру объявляю без ID
источник

RL

Ragnar Lodbrok in Go-go!
Надо чтобы в структуре было поле ID с тэгом _id.
источник

J

Jbcui in Go-go!
Ragnar Lodbrok
Надо чтобы в структуре было поле ID с тэгом _id.
Да, получилось объявить через primitive.NewObjectId(),  и добавить в пост генерированный Id
источник

J

Jbcui in Go-go!
Inserted post with ID: ObjectID("5f7b079109f719b02ce455ac")
Found post with title Пост ObjectID("5f7b0782d1c25da0eabe2d41")
А с чем может быть проблема, что он цепляется только за первый добавленный пост, и только его проверяет?
источник

RL

Ragnar Lodbrok in Go-go!
Если вы более подробно опишите, что именно делали, и что получили, то может кто и подскажет
источник

J

Jbcui in Go-go!
если я задаю указатель на структуру var data *Data, то получаю panic: runtime error: invalid memory address or nil pointer dereference, а так я понимаю когда указываю var data Data, то не меняю начальную структуру данных, из-за чего цепляется только первый айдишник
источник

AK

Alex Kharlamov in Go-go!
Коллеги, а чем отличается RWMutex от просто мьютекса? в каких случаях его нужно использовать по вашему?
источник

AK

Arseny Khoroshilov in Go-go!
Тут недавно кидали ссылку на чат телеграм-ботоводов. А знает кто-то такую же тусовку по ВК? Буду признателен.
источник

RL

Ragnar Lodbrok in Go-go!
Alex Kharlamov
Коллеги, а чем отличается RWMutex от просто мьютекса? в каких случаях его нужно использовать по вашему?
Позволяет блокировать только на запись, но не чтение.
В офф доках все описано
источник

AK

Arseny Khoroshilov in Go-go!
Jbcui
если я задаю указатель на структуру var data *Data, то получаю panic: runtime error: invalid memory address or nil pointer dereference, а так я понимаю когда указываю var data Data, то не меняю начальную структуру данных, из-за чего цепляется только первый айдишник
var data *Data // data = nil, т.к. нет инициализации
data := &Data{} // указатель на zero-value структуру
источник

J

Jbcui in Go-go!
Arseny Khoroshilov
var data *Data // data = nil, т.к. нет инициализации
data := &Data{} // указатель на zero-value структуру
Спасибо) я переписал каждую функцию с методами
источник

A

Alisher in Go-go!
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Add("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")
w.Header().Add("Access-Control-Allow-Headers", "*")

Несмотря на код выше я всё ещё получаю ошибку: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8090/api/getPhone. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing) Когда отправляю запрос на мой сервер, что могло пойти не так ?
источник

RS

Rusty Shackleford in Go-go!
Alisher
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Add("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")
w.Header().Add("Access-Control-Allow-Headers", "*")

Несмотря на код выше я всё ещё получаю ошибку: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8090/api/getPhone. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing) Когда отправляю запрос на мой сервер, что могло пойти не так ?
не забыли продублировать методами OPTIONS?
источник