고유 ID로 텍스트 열이있는 테이블 (AKA 컬렉션)을 정의하고 사용하려고합니다. persistent-persistent-mongodb, persistent-template 2.0.2 버전을 사용하고 있습니다.영구 mongodb에서 텍스트 열을 id로 정의하고 사용하십시오.
let mongoSettings = (mkPersistSettings (ConT ''MongoContext)) { mpsGeneric = False }
in share [mkPersist mongoSettings, mkMigrate "migrateAll"][persistUpperCase|
User id=myid
myid Text
count Int
|]
나는 Text
값에서 Key User
를 만드는 방법을 알아낼 수 없습니다 :
이 내 테이블 정의입니다. 나는 시도 : 컴파일러 오류와
mkUser :: Text -> Key User
mkUser x = UserKey . MongoKey $ x
:
Couldn't match type ‘Text’ with ‘ObjectId’ Expected type: Text -> Key User Actual type: ObjectId -> Key User
영구의 몽고 키는 유형 ObjectId
이 될 수 있습니까? 관련 source code의 시험에서이 사례가있는 것 같지만 잘못하고 싶습니다. 몽고 (Mongodb)는 확실히 영속적이지 않은 텍스트 키를 허용합니다. 실제로, any unique thing을 허용합니다.
insert $ User "bob" 0
를 있지만 결과는 데이터베이스 행 갖는 자동 생성 대신 "bob"
중, _id
열에 ObjectId
.
User sql=profiles
_id Text
count Int
가 나는 여전히
Text
값으로
Key User
를 정의하는 시도의 문제가 : 나는 스키마를 정의하는 경우
.