Этот фильтр:
filter := bson.M{"brand" : bson.M{"_id" : someValue}}
Сообщает, что вы хотите документы с полем brand
, являющимся внедренным документом , имеющим одно поле _id
, значение которого равно значениюsomeValue
.
Это на самом деле будет работать, если ваши встроенные документы будут состоять только из этого единственного поля _id
, а для встроенного brand
это поле идентификатора будет сопоставлено с deploymentid
и, скорее всего, имеет другие поляа также (который вы «удалили», чтобы свести пример к минимуму), и поэтому он не будет совпадать.
Вместо этого вы хотите, чтобы документы с полем brand
были документом с соответствующим deployment
поле среди других полей .Вот как вы можете выразить это:
filter := bson.M{"brand.deploymentid" : someValue}