#java #mongodb #spring-boot #mongodb-query #spring-data
Вопрос:
в коде Java я использую метод агрегации. Нравится- mongoTemplate.aggregate(aggregation,Request.class, Response.class).getMappedResults();
и вручную я удаляю коллекцию и хочу, чтобы она выдавала ошибку, когда коллекция не существует, но с приведенным выше кодом возвращает нулевое значение и не выдает никаких ошибок, как мы можем добиться, чтобы выдавать ошибку в случае, если коллекция не существует, и возвращать ответ, если коллекция существует. и не хочу разделяться, чтобы проверить, существует коллекция или нет. или mongotemplate не выдает ошибку, если коллекция не существует
Ответ №1:
это по замыслу, если коллекция не существует, когда вы отправите запрос на запись, эта коллекция будет создана (для операции чтения, как в вашем случае, это будет просто запрос без операции). Вы также можете увидеть это поведение в оболочке:
mongos> use new_db
switched to db new_db
mongos> show collections # pay attention that db is empty so no collections
mongos> db.testColl.insertOne({})
{
"acknowledged" : true,
"insertedId" : ObjectId("615a1792e987158566c7a4bf")
}
mongos> show collections # pay attention that the collection has been created automatically
testColl