Golang запрос mongoDB для поля вложенного объекта - PullRequest
0 голосов
/ 20 апреля 2020

Например, у меня есть документ в коллекции со структурой, подобной

{ "_id": "123456", "address": { "details": "abc" } }

Как я могу запросить этот документ по _id и address.details?

Я пробовал вот так, filter := bson.M{"_id": id, "address.details": "abc"}

Но это не работает! Я использую официальный пн go -драйвер

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Это из-за objectId.

import(
    "go.mongodb.org/mongo-driver/bson/primitive"
)

objectId, err := primitive.ObjectIDFromHex("123456")
filter := bson.M{"_id": objectId, "address.details": "abc"}
0 голосов
/ 20 апреля 2020

Вам нужно использовать . (точка) только для вложенного элемента. Пример: "field.nestedField".

Итак, используйте address.details вместо addressTo.details

filter := bson.M{"_id": id, "address.details": "abc"}

Найти более подробную информацию здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...