Info
I am using the Realm Go backend (with cgo) to call stitch_support_v1_update_create with an arrayFilters option but I keep see the following error every time:
{No array filter found for identifier 'element' in path 'grades.$[element]'}]}
I have a collection with a single document as such:
{ "_id" : 1, "grades" : [ 95, 92, 190 ] }
and am trying to run the following operation:
collection.updateOne(
{ },
{ $set: { "grades.$[element]" : 100 } },
{
arrayFilters: [ { "element": 190 } ]
})
Operations without an arrayFilter work property but I also get the correct error when I pass in multiple array filters with the correct name e.g.
collection.updateOne(
{ },
{ $set: { "grades.$[element]" : 100 } },
{
arrayFilters: [ { "element": 190 }, { "element": 180 } ]
})
gives:
Found multiple array filters with the same top-level field name element
The arrayFilter bytes sent to stitch_support_v1_update_create seem to be correct, and the filters seem to get parsed correctly, but something appears to be off when the update tries to find the appropriate filter
Top User Comments
jacob.evans commented on Wed, 18 Nov 2020 20:21:08 +0000:
After some investigation we determined that there was no bug on the library side, just an argument not making it to stitch_support_v1_update_create.
nicholas.zolnierz commented on Wed, 4 Nov 2020 18:15:38 +0000:
Spoke briefly with kush.patel on this, we have a very basic unit test for arrayFilters but its possible that it's not actually testing what was intended.
Steps to Reproduce
Create a collection with the sample document in the description
attempt to call stitch_support_v1_update_create with the sample parameters from the operations in the description