Wol*_*Joe 3 java mongodb jongo
我知道这个问题非常基本......我很抱歉.
我不能使用Jongo为Mongo做一个'ID by ID'.
我试过了
Iterator<MongoTest> all = db.getCollection("mongoTest").find("{'_id': ObjectId('5194d46bdda2de09c656b64b')}").as(MongoTest.class).iterator();
Run Code Online (Sandbox Code Playgroud)
错误:
java.lang.IllegalArgumentException: {'_id': ObjectId('5194d46bdda2de09c656b64b')} cannot be parsed
at org.jongo.query.JsonQuery.marshallQuery(JsonQuery.java:34)
at org.jongo.query.JsonQuery.<init>(JsonQuery.java:27)
at org.jongo.query.JsonQueryFactory.createQuery(JsonQueryFactory.java:52)
at org.jongo.Find.<init>(Find.java:41)
at org.jongo.MongoCollection.find(MongoCollection.java:79)
at org.jongo.MongoCollection.find(MongoCollection.java:75)
Run Code Online (Sandbox Code Playgroud)
我试过了
Iterator<MongoTest> all = db.getCollection("mongoTest").find(withOid(new ObjectId("5194d46bdda2de09c656b64b"))).as(MongoTest.class).iterator();
Run Code Online (Sandbox Code Playgroud)
正如在文档中一样,我甚至无法编译它......有两种可能的ObjectId类型.
de.undercouch.bson4jackson.types.ObjectId;
Run Code Online (Sandbox Code Playgroud)
告诉我
The constructor ObjectId(String) is undefined
Run Code Online (Sandbox Code Playgroud)
如果我使用
org.bson.types.ObjectId;
Run Code Online (Sandbox Code Playgroud)
它似乎工作得更好,有时 - 但它仍然告诉我这withOid( ObjectId )是未定义的.这并不奇怪,究竟是什么对象应该是该函数的一部分呢?
我的问题:如何在Jongo中通过_id进行查找?
有人帮我在其他地方找到答案,把它放在这里供后代使用
一个有效的结构是
db.getCollection("mongoTest")
.find("{ _id: # }", new ObjectId("5194d46bdda2de09c656b64b"))
.as(MongoTest.class);
Run Code Online (Sandbox Code Playgroud)
运用 org.bson.types.ObjectId
要么
db.getCollection("mongoTest")
.findOne(Oid.withOid("5194d46bdda2de09c656b64b"))
.as(MongoTest.class);`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3810 次 |
| 最近记录: |