Nested Element Updating

89 views
Skip to first unread message

Jacob Rhiel

unread,
May 7, 2021, 12:30:43 AM5/7/21
to kmongo
I am trying to update nested elements for queried types.

Currently working version with MongoDB Java Driver looks like this:

unsetResult = updateOne(BasicDBObject("_id", profile._id).append("storedPayments.preferred", true), BasicDBObject("\$set", BasicDBObject("storedPayments.$.preferred", false)))
result = updateOne(Document().append("_id", profile._id).append("storedPayments.id", id), BasicDBObject("\$set", BasicDBObject("storedPayments.$.preferred", true)))

Whenever I try it via KMongo (mind you the documentation for doing this is quite limited..)

unsetResult = updateOneById(profile._id, set((BillingProfile::storedPayments.colProperty.filteredPosOp(StoredPayment::id.name) / StoredPayment::preferred) setTo false),
UpdateOptions().arrayFilters(listOf(StoredPayment::id ne id)))
result = updateOneById(profile._id, set(BillingProfile::storedPayments.colProperty.filteredPosOp(StoredPayment::id.name) / StoredPayment::preferred setTo true),
UpdateOptions().arrayFilters(listOf(StoredPayment::id eq id)))

Please let me know if I am using the above query wrong.

zigzago

unread,
May 9, 2021, 11:23:40 AM5/9/21
to kmongo


I will update the doc.
setValue(BillingProfile::storedPayments.posOp / StoredPayment::preferred, false)

HTH
Reply all
Reply to author
Forward
0 new messages