2016-12-13 4 views
1

을 가진 (3.1.X) 응용 프로그램 나는 GORM standalone 내 Grails는 무료 응용 프로그램에서GORM 독립형 : 없음 updateOne() 맵 내 good'ol Grails는에서

ModuleState.collection.updateOne( 
    [ compositeKey:ck ], 
    [ $set:[ compositeKey:ck, dateUpdated:new Date(), online:true ] ], 
    [ upsert:true ]) 

같은 라인을 가지고 :

compile 'org.grails:grails-datastore-gorm-mongodb:6.0.4.RELEASE' 

이 라인은 예외를

groovy.lang.MissingMethodException가 발생하지 않습니다 : 방법의 어떤 서명 : com.mongodb.MongoCollectionImpl.updateOne은() 인수에 대한 적용 타입 : [compositeKey : 111], [$ set : [...]], ...] 가능한 해결책 : updateOne (링크 된 HashMap, LinkedHashMap, java.util.LinkedHashMap) (org.bson.conversions.Bson, org.bson.conversions.Bson), updateOne (org.bson.conversions.Bson, org.bson.conversions.Bson, com.mongodb.client.model.UpdateOptions)

그래서 새로운 맵 소비 메소드는 삽입되지 않습니다.

GORM을 고치고 다시 만들 수있는 방법은 없나요?

+0

왜지도를 사용하나요? 나는 $ set 연산자가 필드 값 쌍을 올바르게 취하는 것을 의미합니까? 한 번에 모든 핵심 가치를 전달하려고하십니까? bson 객체로 키 값을 쉽게 래핑 할 수 있습니다. – Veeram

답변

1

org.grails:grails-datastore-gorm-mongodb-ext:6.0.4.RELEASE을 클래스 패스에 추가해야합니다.