我有一个问题,想知道如何通过MongoDB中的_id删除文档。我可以通过其他属性删除没问题,但我似乎缺少正确的语法删除_id。
我的文档格式如下:
{ "_id" : { "$oid" : "57a49c6c33b10927ff09623e" }, "name" : "Brad" }
这是我正在使用的Java代码:
// Boiler plate
MongoClient client = new MongoClient( "localhost" , 27017 );
MongoDatabase db = client.getDatabase("my-database");
MongoCollection<Document> collection = db.getCollection("my-collection")
// This works
collection.deleteOne(new Document("name", "Brad"));
// This does not work
collection.deleteOne(new Document("_id", "57a49c6c33b10927ff09623e"));
任何人都知道我哪里出错了?
答案 0 :(得分:6)
字段_id
的类型为ObjectId
,"57a49c6c33b10927ff09623e"
的类型为字符串。
而是尝试
collection.deleteOne(new Document("_id", new ObjectId("57a49c6c33b10927ff09623e")));