Я пытаюсь использовать драйвер Java MongoDB для создания двух обновлений ($ set и $push) для записи в той же операции. Я использую код, похожий на следующий:
BasicDBObject pushUpdate = new BasicDBObject().append("$push", new BasicDBObject().append("values", dboVital));
BasicDBObject setUpdate = new BasicDBObject().append("$set", new BasicDBObject().append("endTime", time));
BasicDBList combinedUpdate = new BasicDBList();
combinedUpdate.add( pushUpdate);
combinedUpdate.add( setUpdate);
collection.update( new BasicDBObject().append("_id", pageId), combinedUpdate, true, false);
Когда я объединяю $set и $push в одно и то же обновление через BasicDBList, я получаю исключение IllegalArgumentException: "поля, хранящиеся в db, не могут начинаться с" $"(Bad Key:" $push ")".
Если я делаю два отдельных обновления, то pushUpdate и setUpdate выдают достоверные результаты.
Спасибо!