Skip to content

Instantly share code, notes, and snippets.

@rktoomey
Created March 24, 2012 22:34
Show Gist options
  • Save rktoomey/2188684 to your computer and use it in GitHub Desktop.
Save rktoomey/2188684 to your computer and use it in GitHub Desktop.
scala> import com.novus.salat.test.dao._
import com.novus.salat.test.dao._
scala> import com.novus.salat._
import com.novus.salat._
scala> import com.novus.salat.test._
import com.novus.salat.test._
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.annotations._
import com.novus.salat.annotations._
scala> import org.scala_tools.time.Imports._
import org.scala_tools.time.Imports._
scala> com.mongodb.casbah.commons.conversions.scala.RegisterConversionHelpers()
scala> com.mongodb.casbah.commons.conversions.scala.RegisterJodaTimeConversionHelpers()
scala> val map = Map("asdf" -> "qwer")
map: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map((asdf,qwer))
scala> val now = new DateTime()
now: org.joda.time.DateTime = 2012-03-24T18:30:22.959-04:00
scala> val thing1 = Thing("fool", now, "z", 3.1416, map)
thing1: com.novus.salat.test.dao.Thing = Thing(fool,2012-03-24T18:30:22.959-04:00,z,3.1416,Map(asdf -> qwer),4f6e4b074ceab621f59851d8)
scala> val thing2 = Thing("on", now, "zz", 3.1416*2, map + ("jdjd" -> "kdkd"))
thing2: com.novus.salat.test.dao.Thing = Thing(on,2012-03-24T18:30:22.959-04:00,zz,6.2832,Map(asdf -> qwer, jdjd -> kdkd),4f6e4b1c4ceab621f59851d9)
scala> val thing3 = Thing("the", now, "zzz", 3.1416*3, map + ("aaaa" -> "bbbb"))
thing3: com.novus.salat.test.dao.Thing = Thing(the,2012-03-24T18:30:22.959-04:00,zzz,9.4248,Map(asdf -> qwer, aaaa -> bbbb),4f6e4b214ceab621f59851da)
scala> val thing4 = Thing("hill", now, "zzzz", 3.1416*4, map + ("cccc" -> "dddd"))
thing4: com.novus.salat.test.dao.Thing = Thing(hill,2012-03-24T18:30:22.959-04:00,zzzz,12.5664,Map(asdf -> qwer, cccc -> dddd),4f6e4b224ceab621f59851db)
scala> ThingDAO.insert(thing1, thing2, thing3, thing4)
res2: List[Option[com.mongodb.casbah.Imports.ObjectId]] = List(Some(4f6e4b074ceab621f59851d8), Some(4f6e4b1c4ceab621f59851d9), Some(4f6e4b214ceab621f59851da), Some(4f6e4b224ceab621f59851db))
scala> ThingDAO.find(MongoDBObject.empty).toList
res4: List[com.novus.salat.test.dao.Thing] = List(Thing(fool,2012-03-24T18:30:22.959-04:00,z,3.1416,Map(asdf -> qwer),4f6e4b074ceab621f59851d8), Thing(on,2012-03-24T18:30:22.959-04:00,zz,6.2832,Map(asdf -> qwer, jdjd -> kdkd),4f6e4b1c4ceab621f59851d9), Thing(the,2012-03-24T18:30:22.959-04:00,zzz,9.4248,Map(asdf -> qwer, aaaa -> bbbb),4f6e4b214ceab621f59851da), Thing(hill,2012-03-24T18:30:22.959-04:00,zzzz,12.5664,Map(asdf -> qwer, cccc -> dddd),4f6e4b224ceab621f59851db))
scala> ThingDAO.find(MongoDBObject.empty).toList.mkString("\n")
res5: String =
Thing(fool,2012-03-24T18:30:22.959-04:00,z,3.1416,Map(asdf -> qwer),4f6e4b074ceab621f59851d8)
Thing(on,2012-03-24T18:30:22.959-04:00,zz,6.2832,Map(asdf -> qwer, jdjd -> kdkd),4f6e4b1c4ceab621f59851d9)
Thing(the,2012-03-24T18:30:22.959-04:00,zzz,9.4248,Map(asdf -> qwer, aaaa -> bbbb),4f6e4b214ceab621f59851da)
Thing(hill,2012-03-24T18:30:22.959-04:00,zzzz,12.5664,Map(asdf -> qwer, cccc -> dddd),4f6e4b224ceab621f59851db)
scala> ThingDAO.find(MongoDBObject("pie" -> MongoDBObject("$gte" -> 9))).toList.mkString("\n")
res6: String =
Thing(the,2012-03-24T18:30:22.959-04:00,zzz,9.4248,Map(asdf -> qwer, aaaa -> bbbb),4f6e4b214ceab621f59851da)
Thing(hill,2012-03-24T18:30:22.959-04:00,zzzz,12.5664,Map(asdf -> qwer, cccc -> dddd),4f6e4b224ceab621f59851db)
scala> ThingDAO.find(MongoDBObject("pie" -> MongoDBObject("$gte" -> 9))).sort(MongoDBObject("_id" -> -1)).toList.mkString("\n")
res9: String =
Thing(hill,2012-03-24T18:30:22.959-04:00,zzzz,12.5664,Map(asdf -> qwer, cccc -> dddd),4f6e4b224ceab621f59851db)
Thing(the,2012-03-24T18:30:22.959-04:00,zzz,9.4248,Map(asdf -> qwer, aaaa -> bbbb),4f6e4b214ceab621f59851da)
@mslinn
Copy link

mslinn commented Mar 24, 2012

Hmm, wonder what is different from your environment? Seems my SalatDoodles class is not providing an implicit. I tried several different ideas, none worked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment