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

时间:2014-06-24 17:57:26

标签: mongodb grails gorm

我在控制器方法中有这样的代码:

            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?怎么样,为什么?

1 个答案:

答案 0 :(得分:2)

你永远不应该在一个对象上调用class,因为有些情况可能会失败(例如getProperty('class')被调用或者你在“mapish”对象上,这意味着groovy会调用{{ 1}}对你来说 - 这是get('class')BasicDBObject的子类)的情况。始终使用LinkedHashMap