GORM低级api找到对象(Mongodb记录),但它仍然为空?

GORM低级api找到对象(Mongodb记录),但它仍然为空?,mongodb,grails,gorm,Mongodb,Grails,Gorm,我在控制器方法中有如下代码: DB db = mongoClient.getDB("twcdb"); DBCollection coll = db.getCollection('countrycodes') println coll.findOne() println coll.findOne().class 我在控制台上得到这个输出: [_id:539848b2119918654e7e90c3, Country:Berm

我在控制器方法中有如下代码:

            DB db = mongoClient.getDB("twcdb");
        DBCollection coll = db.getCollection('countrycodes')
        println coll.findOne()
        println coll.findOne().class
我在控制台上得到这个输出:

[_id:539848b2119918654e7e90c3, Country:Bermuda, Alpha2:BM, Aplha3:BMU, Numeric:60, FIPS:BD, IGA:Model 2]
null

那么,它怎么能找到一条记录,但它的类是空的呢?这是因为我的任何域类都没有对此记录建模吗?它确实将记录的各个字段识别为我刚刚测试过的字符串,但是记录的总体分类为NULL?如何,为什么?

您不应该在对象上调用
class
,因为在某些情况下调用可能会失败(例如,
getProperty('class')
被调用,或者您在“mapish”对象上,这意味着groovy将为您调用
get('class')
,这对于
BasicDBObject
(一个
LinkedHashMap的子类
)。总是使用
getClass()

不要调用
class
,但是
getClass()
@cfrick谢谢你的工作。现在我得到了这个类com.mongodb.BasicDBObject。现在普通类()方法在这里不起作用?只是好奇而已。如果你想作为答案发布,我很乐意为你标记正确的答案。