Skip to content

Instantly share code, notes, and snippets.

@rktoomey
Created January 24, 2012 12:37
Show Gist options
  • Save rktoomey/1670017 to your computer and use it in GitHub Desktop.
Save rktoomey/1670017 to your computer and use it in GitHub Desktop.
Demonstration that mongo-java-driver adds _id if your model does not supply it
salat-core:master:0.0.8-SNAPSHOT> test:console
[info] Starting scala interpreter...
[info]
Welcome to Scala version 2.8.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_26).
Type in expressions to have them evaluated.
Type :help for more information.
scala> import com.novus.salat._
import com.novus.salat._
scala> import com.novus.salat.global._
import com.novus.salat.global._
scala> import com.mongodb.casbah.Imports._
import com.mongodb.casbah.Imports._
scala> import com.novus.salat.test.dao._
import com.novus.salat.test.dao._
scala> val m = MissingIdField1(lol = "LOL")
m: com.novus.salat.test.dao.MissingIdField1 = MissingIdField1(LOL)
scala> val _id = MissingIdFieldDAO.insert(m)
_id: Option[com.mongodb.casbah.Imports.ObjectId] = Some(4f1ea4e7c89c1ba68d222eb4)
scala> MissingIdFieldDAO.findOneByID(new ObjectId("4f1ea4e7c89c1ba68d222eb4"))
res1: Option[com.novus.salat.test.dao.MissingIdField] = Some(MissingIdField1(LOL))
scala> MissingIdFieldDAO.collection.find(MongoDBObject("_id" -> new ObjectId("4f1ea4e7c89c1ba68d222eb4"))).toList
res2: List[com.mongodb.casbah.Imports.DBObject] = List({ "_id" : { "$oid" : "4f1ea4e7c89c1ba68d222eb4"} , "_typeHint" : "com.novus.salat.test.dao.MissingIdField1" , "lol" : "LOL"})
package com.novus.salat.test.dao
import com.novus.salat._
import com.novus.salat.global._
import com.mongodb.casbah.Imports._
import com.novus.salat.annotations._
abstract class MissingIdField(val lol: String)
case class MissingIdField1(override val lol: String) extends MissingIdField(lol)
object MissingIdFieldDAO extends SalatDAO[MissingIdField, ObjectId](collection = MongoConnection()("test_salat")("missing_id_field"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment