新しいデータベースを作成し、ドキュメント/ビューを追加するためのscalaプログラムを作成しました。
object CouchDBTest extends App {
val dbSession = new Session("localhost", 5984)
val db = dbSession.createDatabase("couchschooltest")
val newC1 = new Document
newC1.put("Type", "Class")
newC1.put("ClassId", "C1")
newC1.put("ClassName", "C-2A")
newC1.put("ClassTeacher", "T1")
newC1.accumulate("Students", "S1");
newC1.accumulate("Students", "S2");
newC1.accumulate("Students", "S3");
db.saveDocument(newC1)
val viewDocClass = new Document
viewDocClass.addView("Class", "function(doc) {if(doc.Type == 'Class') { emit([doc.ClassId, doc.ClassName, doc.ClassTeacher, doc.Students], doc);}}")
db.saveDocument(viewDocClass)
}
このコードを実行すると、CouchDB に新しいデータベースが作成され、このデータベースにクラス ドキュメントが追加されます。ただし、ビューはデータベースに追加されません。viewDocClass を次のように追加しているときにランタイム エラーが発生します。
ドキュメントの追加エラー - null null