无法从MongoDB更新查询中的数组中检索最后一个元素

时间:2019-04-19 06:47:34

标签: mongodb scala

在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

我的更新中是否存在语法错误,还是应该以其他方式检索该元素?

0 个答案:

没有答案