Happy bean
Happy bean

Reputation: 89

How to update a field in Fauna Database

I am working in fauna DB. I have a confusion for writing an query to update a field . From the given array object I want to update the Boolean fields ( "presentation", "keyTakeaways", "whitepaper", "downloadAll") with the reference to the SegmentAnonymousID. I am adding the code that I tried. Can someone help me to sort out the problem.

[{
  "ref": Ref(Collection("Downloads"), "322568726157197900"),
  "ts": 1643884359510000,
  "data": {
    "SegmentAnonymousID": "57f22fc0-2ace-4522-b0a6-4d0cd45cfc3a",
    "response": {
      "firstname": "test ",
      "lastname": "test 1",
      "email": "[email protected]",
      "company": "test",
      "presentation": false,
      "keyTakeaways": false,
      "whitepaper": false,
      "downloadAll": false
    }
  }
},
{
  "ref": Ref(Collection("Downloads"), "322484599970071113"),
  "ts": 1643870069845000,
  "data": {
    "SegmentAnonymousID": "15ba9e0d-e646-4d31-beaa-b2a4d3eac56f",
    "response": {
      "firstname": "test 4",
      "lastname": "test4",
      "email": "[email protected]",
      "company": "test",
      "presentation": false,
      "keyTakeaways": false,
      "whitepaper": false,
      "downloadAll": false
    }
  }
}]

The code I tried

 

     const result = await faunaClient.query(
                q.Update(
                    q.Select("ref", q.Get(q.Match(q.Index("SegmentAnonymousID"), "57f22fc0-2ace-4522-b0a6-4d0cd45cfc3a")), { data: { response: { "presentation": true } } })
                )
            )

Upvotes: 0

Views: 339

Answers (1)

eskwayrd
eskwayrd

Reputation: 4521

Your query has brackets in the wrong place. As written, the object containing the new data appears as the "default" value for the Select call. You'll likely have better success with this update (reformatted to show function calls and parameters better):

const result = await faunaClient.query(
  q.Update(
    q.Select(
      "ref",
      q.Get(
        q.Match(
          q.Index("SegmentAnonymousID"),
          "57f22fc0-2ace-4522-b0a6-4d0cd45cfc3a"
        )
      )
    ),
    {
      data: {
        response: {
          presentation: true
        }
      }
    }
  )
)

Upvotes: 2

Related Questions