Я хочу запустить ниже собственных запросов в моем проекте Java, используя DB.runCommand()
Запрос1:
db.test_temp.insert({entityId:2,columnName1:"columnName2.1",columnName2:"columnName2.2"})
Запрос 2:
db.test_temp.updateOne(
{ columnName1: "columnName1" },
{
$set: { "columnName1": "columnName1.0" }
}
);
Мой код:
String json = "db.test_temp.insert({entityId:2,columnName1:"columnName2.1",columnName2:"columnName2.2"}";
Bson command = new Document("eval",json);
db.runCommand(command);
Я также пробовал из Как выполнить собственный запрос MongoDB (JSON), используя только mongo-java-драйвер? но не работает
Ошибка:
com.mongodb.MongoCommandException: Command failed with error 13
Как сказано в упомянутой вами ссылке `
Команда eval устарела, и ее использование не рекомендуется.
Согласно этому ответу, вы можете сделать следующее
String json = "{insert : 'collectionName', documents : [{entityId:2,columnName1:'columnName2.1',columnName2:'columnName2.2'}]}";
Document bsonCmd = Document.parse(json);
Document result = db.runCommand(bsonCmd);
Пожалуйста, проверьте insert
синтаксис команды в вставьте документы