@@ -3,8 +3,11 @@ package com.sfxcode.nosql
33import com .sfxcode .nosql .mongo .bson .BsonConverter
44import com .sfxcode .nosql .mongo .database .DatabaseProvider
55import com .sfxcode .nosql .mongo .operation .ObservableIncludes
6+ import org .bson .BsonValue
7+ import org .bson .types .ObjectId
68import org .mongodb .scala .bson .conversions .Bson
7- import org .mongodb .scala .{ Document , FindObservable , MongoDatabase , Observable }
9+ import org .mongodb .scala .gridfs .{GridFSFile , GridFSFindObservable }
10+ import org .mongodb .scala .{Document , FindObservable , MongoDatabase , Observable }
811
912import scala .collection .JavaConverters ._
1013import scala .language .implicitConversions
@@ -29,6 +32,7 @@ package object mongo extends ObservableIncludes {
2932 documentFromScalaMap(map.toMap)
3033 }
3134
35+
3236 implicit def documentFromScalaMap (map : Map [String , Any ]): Document = {
3337 var result = Document ()
3438 map.keys.foreach(key => {
@@ -55,4 +59,17 @@ package object mongo extends ObservableIncludes {
5559 BsonConverter .asMapList(documents)
5660 }
5761
62+ implicit def stringToObjectId (str : String ): ObjectId = new ObjectId (str)
63+
64+ implicit def documentToObjectId (doc : Document ): ObjectId = doc.getObjectId(" _id" )
65+
66+ // gridfs
67+
68+ implicit def gridFSindObservableToFiles (observable: GridFSFindObservable ): List [GridFSFile ] = observable.resultList()
69+
70+
71+ implicit def gridfSFileToObjectId (file : GridFSFile ): ObjectId = file.getObjectId
72+
73+ implicit def gridfSFileToBSonIdValue (file : GridFSFile ): BsonValue = file.getId
74+
5875}
0 commit comments