Java mongodb点符号查找

Java mongodb点符号查找,java,mongodb,Java,Mongodb,可以通过mongo shell查找带点符号的记录,例如: db.events.find({'events.eid':307215649389788}) 我试图用java驱动程序实现同样的目标,问题是: getCollection(collectionName).find(query)-要求将查询作为DBObject 当创建以“events.eid”作为键的DBObject时,构造函数添加了“”,因此我得到以下结果:“'events.eid'”作为键,但该键不起作用(同样在shell中) 我

可以通过mongo shell查找带点符号的记录,例如:

db.events.find({'events.eid':307215649389788})
我试图用java驱动程序实现同样的目标,问题是:

  • getCollection(collectionName).find(query)-要求将查询作为DBObject
  • 当创建以“events.eid”作为键的DBObject时,构造函数添加了“”,因此我得到以下结果:“'events.eid'”作为键,但该键不起作用(同样在shell中)

我怎样才能克服这个问题呢?

不太清楚您在尝试什么,但这是有效的:

DBCursor cursor = coll.find(new BasicDBObject("events.eid", 307215649389788));
您需要对Java字符串使用双引号(
),因此如果您使用单引号,这就是您的问题所在