如何解决如何修改MongoDB文档中数组中包含的对象的值
数据格式如下:
{
"_id" : {
"$oid" : "5ece2f6babf1d6139784d85f"
},"parentId" : "5e4f452ea94a510ef590f84c","description" : "","attribute" : {
"timeInterval" : "10","logSpace_unit" : "m","events" : [{
"formDate" : "08-11","toDate" : "10-31","startTime" : "11:45","stopTime" : "23:59","weekDays" : ["M","T","W","F","_","_"],"isTime" : 2,"period" : "day"
}]
}
}
我尝试通过执行以下'formDate'值对其进行修改
mongoTemplate.upsert(Query.query(Criteria.where("id").is(triggerObjectId)),new update().addToSet("attribute.events.formDate",formDate),TreeNode.class);
但是有一个问题:
Caused by: com.mongodb.MongoWriteException: Cannot create field 'formDate' in element {events: [ { formDate: "08-11",toDate: "10-31",startTime: "11:45",stopTime: "23:59",weekDays: [ "M","_" ],isTime: 2,period: "day" } ]}
at com.mongodb.MongoCollectionImpl.executeSingleWriteRequest(MongoCollectionImpl.java:1033)
at com.mongodb.MongoCollectionImpl.executeUpdate(MongoCollectionImpl.java:1015)
at com.mongodb.MongoCollectionImpl.updateOne(MongoCollectionImpl.java:635)
at org.springframework.data.mongodb.core.MongoTemplate$10.doInCollection(MongoTemplate.java:1448)
at org.springframework.data.mongodb.core.MongoTemplate$10.doInCollection(MongoTemplate.java:1405)
at org.springframework.data.mongodb.core.MongoTemplate.execute(MongoTemplate.java:524)
... 17 more
我尝试修改条件以完成对象的修改,但仍然失败
attribute.events.$.formDate
我该怎么做才能解决此问题? 希望你能帮助我。 谢谢你:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。