a8m / a8m/documentdb

Query sub array

Đang mở
#12 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Go
Star
31
Fork
26
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

Hi !

I am trying to execute a query on a subdocument and I didn't manage to make it work .....

My CosmosDB documents are like that:
```
{
[...]
"references": [
{
"id": "1234",
"link": "http://site.com/1234"
},
{
"id": "5678",
"link": "http://site.com/5678"
}
]
```

The query I tried is this one: `SELECT * FROM r WHERE ARRAY_CONTAINS(r.references, {id:'1234'}, true)`
( note that the third 'true' parameter to ARRAY_CONTAINS() is to say "the provided object is incomplete" )
With this request, I have this error:
```panic: BadRequest, Cross partition query is required but disabled. Please set x-ms-documentdb-query-enablecrosspartition to true, specify x-ms-documentdb-partitionkey, or revise your query to avoid this exception.```

Next I tried to use QueryDocument with Partition like that:
```
partitionKey := func(reqOpts *documentdb.RequestOptions) {
reqOpts.PartitionKey = []string{"/internal_id"}
}

query := fmt.Sprintf("SELECT * FROM r WHERE ARRAY_CONTAINS(r.references, {id:'1234'}, true)")

var ObjFound []Obj

err = client.QueryDocumentsWithRequestOptions(coll.Self, query, &ObjFound, partitionKey)
if err != nil {
panic(err)
}
```

With that, I don't have any error, but I am not finding any documents ...

Moreover, this request works fine in the Azure Data Explorer from the web interface.

Did someone manage to make that kind of request work ?

Thank you !

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.