MongoDB使用java驱动程序3.0版进行更新

Aug*_*sto 6 java mongodb

我正在将我的应用程序迁移到MongoDb 3.0.2.我没有插入,查找和删除的问题.但是,更新问题.特别是eq().

在这句话中:

coll.updateOne(eq("_id", id), new Document("$set", new Document("name", name)));
Run Code Online (Sandbox Code Playgroud)

id变量被定义ObjectId.Eclipse给了我一个错误:

对于SystemDAO(我的java类)类型,方法eq(String,ObjectId)是未定义的.

我究竟做错了什么?我按照Mongo java驱动程序文档中的示例进行操作.

Sim*_*ant 7

您需要eq从包中导入静态方法com.mongodb.client.model.Filters.

将此类前面的内容添加到其他导入中:

import static com.mongodb.client.model.Filters.*;
Run Code Online (Sandbox Code Playgroud)

在Eclipse中,如果您将鼠标悬停在错误上,它应该快速修复以导入正确的包.但对于静态导入,这并不是一直有效.