MongoDB更新为java驱动程序版本3.0

MongoDB更新为java驱动程序版本3.0,java,mongodb,Java,Mongodb,我正在将我的应用程序迁移到MongoDb 3.0.2。我在插入、查找和删除方面没有问题。但是,更新存在问题。特别是使用eq() 在这句话中: coll.updateOne(eq("_id", id), new Document("$set", new Document("name", name))); id变量定义为ObjectId。Eclipse给了我一个错误: 方法eq(String,ObjectId)对于 键入SystemDAO(我的java类) 我做错了什么?我遵循了Mongo jav

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

在这句话中:

coll.updateOne(eq("_id", id), new Document("$set", new Document("name", name)));
id
变量定义为
ObjectId
。Eclipse给了我一个错误:

方法eq(String,ObjectId)对于 键入SystemDAO(我的java类)


我做错了什么?我遵循了Mongo java驱动程序文档中的示例

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

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

import static com.mongodb.client.model.Filters.*;

在Eclipse中,如果您将鼠标悬停在错误上,它应该提供一个快速修复方法来导入正确的包。但是对于静态导入,这并不总是有效。

请显示
id
的声明和初始化,看起来它没有定义为
ObjectId
public boolean modifyName(ObjectId,String name){coll.updateOne(eq(“\u id”,id),新文档($set),新文档(“name”,name));}我认为Eclipse不认识的是eq函数,如果我更改eq(“name”,“Jane”),同样的错误也会发生,但现在错误是。。。方法eq(字符串,字符串)…非常感谢!!成功了!!。我不知道为什么Eclipse没有给我添加该导入的建议。它只给了我1个可用的快速fiz:创建方法eq(String,ObjectId),没有关于添加导入的内容