通过带有嵌套数组的 mongo-driver golang 查找文档

我正在尝试执行一个基本查询来搜索特定值位于数组内的文档。让我们看下面的例子:


{

  "metadata": {

    "tenant": [

      "tenant1",

      "tenant2",

      "tenant3"

    ]

  }

}


filter := bson.M{"metadata": bson.M{"tenant": "tenant1"}}


collection := mongo.Database(DB).Collection(Collection)

result := collection.FindOne(context.Background(), filter)

这里的结果是空的,我尝试使用 $elemmatch 它也没有用。当我从元数据中取出数组时,它可以工作。


请帮忙。


FFIVE
浏览 84回答 1
1回答

白衣非少年

您filter对具有metadata字段的文档的过滤器是tenant具有tenant1值的字段的文档。要查找metadata字段为文档、tenant包含元素的数组的文档,tenant1请将字段名称与点连接:filter := bson.M{"metadata.tenant": "tenant1"}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go