在Scala中使用MongoDB Java驱动程序时,我在尝试设置要更新的MongoDB文档中设置数组的最后一个元素时遇到以下错误。
Write errors: [BulkWriteError{index=0, code=52, message='The dollar ($) prefixed field '$expr' in 'field.$expr' is not valid for storage.', details={ }}]
我正在执行的查询如下...
new BasicDBObject(
"$and",
util.Arrays.asList(
new BasicDBObject("_id", value.get("_id")),
new BasicDBObject("sample", new BasicDBObject("$exists", true)))), // Query
new BasicDBObject(
"$set",
new BasicDBObject(
"field",
new BasicDBObject(
"$expr",
new BasicDBObject("$arrayElemAt",
util.Arrays
.asList("$myArray", -1))))), // Update
我的更新中是否存在语法错误,还是应该以其他方式检索该元素?