我在控制器方法中有这样的代码:
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?怎么样,为什么?
答案 0 :(得分:2)
你永远不应该在一个对象上调用class
,因为有些情况可能会失败(例如getProperty('class')
被调用或者你在“mapish”对象上,这意味着groovy会调用{{ 1}}对你来说 - 这是get('class')
(BasicDBObject
的子类)的情况。始终使用LinkedHashMap