我正在使用 Java Spring MongoDB API。当我使用 MongoTemplate 并尝试删除一个对象时,它不会删除。我正在使用 Spring 3.0.6.RELEASE。我的代码如下:
\n\nbeans.xml
\n\n<mongo:mongo host=\xe2\x80\x9clocalhost\xe2\x80\x9c port=\xe2\x80\x9c27017\xe2\x80\x9c/>\n\n<mongo:db-factory dbname=\xe2\x80\x9cdatabase5\xe2\x80\x9c mongo-ref=\xe2\x80\x9cmongo\xe2\x80\x9c/>\n\n<bean id=\xe2\x80\x9cmongoTemplate\xe2\x80\x9c class=\xe2\x80\x9corg.springframework.data.mongodb.core.MongoTemplate\xe2\x80\x9c>\n<constructor-arg name=\xe2\x80\x9cmongoDbFactory\xe2\x80\x9c ref=\xe2\x80\x9cmongoDbFactory\xe2\x80\x9c/>\n</bean>\n\n@Document\npublic class Student {\n\n@Id\nprivate String id;\n@Field\nprivate int age;\n\npublic Student(int age) {\n this.age = age;\n}\n\n// getters and setters\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我通过 ApplicationContext 获取 mongoTemplate 并调用删除方法,传入由 ID 和年龄填充的 Student 对象,但它不会删除。
\n\n有任何想法吗?
\n\nStudent student = new Student(5);\nstudent.setId(\xe2\x80\x9c \xe2\x80\x9c);\nmongoTemplate.remove(student);\nRun Code Online (Sandbox Code Playgroud)\n\n其中Id是填写的Id。
\n\n没有例外,但是当找到这个Id时它仍然存在。
\n