我正在嘗試做一個基本查詢,搜索特定值在陣列中的檔案。讓我們以下面的例子為例:
{
"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 它也沒有作業。當我從元資料中取出陣列時,它就起作用了。
請幫忙。
uj5u.com熱心網友回復:
您filter對具有metadata欄位的檔案的過濾器,該欄位是tenant具有tenant1值的欄位的檔案。
要查找具有metadata作為檔案的欄位的檔案,具有tenant包含該tenant1元素的陣列,請使用點連接欄位名稱:
filter := bson.M{"metadata.tenant": "tenant1"}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/375336.html
上一篇:如何在Golang中替換字串?
