ValueConverters

See compat$ and ValueConverters.

Note that as there is not a JSON equivalent for each BSON value (BSONDateTime, or even distinction between BSON long/int).

So for example, using the default JSON handlers, a same Long property can be written in some documents as BSON long (NumberLong), and in some other as BSON integer (see ValueConverters.toNumber), which is ok to read all these documents, but can impact the MongoDB queries (same for date/time values that will be serialized as BSON string, rather than BSON date/time or timestamp).

Companion:
class
trait ToValue
trait FromValue
class Object
trait Matchable
class Any

Type members

Inherited types

final type JsonJavaScript = JsObject
Inherited from:
ValueConverters
final type JsonNumber = JsNumber
Inherited from:
ValueConverters
final type JsonObjectID = JsObject
Inherited from:
ValueConverters
final type JsonSymbol = JsObject
Inherited from:
ValueConverters
type JsonTime = JsObject
Inherited from:
TemporalObjectConverters (hidden)

Value members

Inherited methods

final protected def jsonJavaScript(bson: BSONJavaScript): JsObject
Inherited from:
SharedValueConverters (hidden)

Implicits

Implicits

implicit def toValue: ToValue

Inherited implicits

final implicit def fromArray(arr: BSONArray): JsArray
Inherited from:
FromValue
final implicit def fromBinary(bin: BSONBinary): JsObject

See syntax:

See syntax:

{ "$binary": { "base64": "<payload>", "subType": "<t>" } }

Inherited from:
SharedValueConverters (hidden)
final implicit def fromBoolean(bson: BSONBoolean): JsBoolean
Inherited from:
SharedValueConverters (hidden)
implicit def fromDateTime(bson: BSONDateTime): JsObject

See syntax:

See syntax:

{ "$date": { "$numberLong": "<millis>" } }

Inherited from:
TemporalObjectConverters (hidden)
final implicit def fromDecimal(bson: BSONDecimal): JsObject
Inherited from:
SharedValueConverters (hidden)
implicit def fromDocument(bson: BSONDocument)(implicit conv: FromValue): JsObject
Inherited from:
SharedValueConverters (hidden)
final implicit def fromDouble(bson: BSONDouble): JsNumber
Inherited from:
ValueConverters
final implicit def fromInteger(bson: BSONInteger): JsNumber
Inherited from:
ValueConverters
implicit def fromJavaScript(bson: BSONJavaScript): JsObject

See syntax:

See syntax:

{ "$code": "<javascript>" }

Inherited from:
ValueConverters
final implicit def fromJavaScriptWS(bson: BSONJavaScriptWS): JsObject

See syntax:

See syntax:

{ "$code": "<javascript>", "$scope": { } }

Inherited from:
SharedValueConverters (hidden)
final implicit def fromLong(bson: BSONLong): JsNumber
Inherited from:
ValueConverters
final implicit def fromMaxKey(_max: BSONMaxKey): JsObject

See syntax:

See syntax:

{ "$maxKey": 1 }

Inherited from:
FromValueCompat (hidden)
final implicit def fromMinKey(_min: BSONMinKey): JsObject

See syntax:

See syntax:

{ "$minKey": 1 }

Inherited from:
FromValueCompat (hidden)
implicit def fromNull(_null: BSONNull): JsNull.type
Inherited from:
FromValueCompat (hidden)
final implicit def fromObject(js: JsObject): BSONValue
Inherited from:
SharedValueConverters (hidden)
final implicit def fromObjectID(bson: BSONObjectID): JsObject

See syntax:

See syntax:

{ "$oid": "<ObjectId bytes>" }

See also:

dsl.objectID

Inherited from:
ValueConverters
final implicit def fromRegex(rx: BSONRegex): JsObject

See syntax:

See syntax:

{ "$regularExpression": { "pattern": "<regexPattern>", "options": "<options>" } }

Inherited from:
SharedValueConverters (hidden)
final implicit def fromStr(bson: BSONString): JsString
Inherited from:
FromValue
final implicit def fromSymbol(bson: BSONSymbol): JsObject

See syntax:

See syntax:

{ "$symbol": "<name>" }

See also:

dsl.symbol

Inherited from:
ValueConverters
implicit def fromTimestamp(ts: BSONTimestamp): JsObject

See syntax:

See syntax:

{ "$timestamp": {"t": <t>, "i": <i>} }

Inherited from:
TemporalObjectConverters (hidden)
final implicit def fromUndefined(_undef: BSONUndefined): JsObject

See syntax:

See syntax:

{ "$undefined": true }

Inherited from:
FromValueCompat (hidden)
final implicit def fromValue(bson: BSONValue): JsValue
Inherited from:
LowPriority1Converters (hidden)
final implicit def toArray(arr: JsArray): BSONArray
Inherited from:
ToValue
final implicit def toBoolean(js: JsBoolean): BSONBoolean
Inherited from:
ToValue
final implicit def toDocument(js: JsObject): BSONDocument
Inherited from:
SharedValueConvertersLowPriority1 (hidden)
final implicit def toJsValueWrapper[T <: BSONValue](value: T): JsValueWrapper
Inherited from:
ToValue
final implicit def toNull(_null: JsNull.type): BSONNull
Inherited from:
ToValueCompat (hidden)
final implicit def toNumber(js: JsNumber): BSONValue
Inherited from:
SharedValueConverters (hidden)
@SuppressWarnings(scala.Array.apply[java.lang.String]("NullParameter")(scala.reflect.ClassTag.apply[java.lang.String](classOf[java.lang.String])))
final implicit def toStr(js: JsString): BSONValue
Inherited from:
ToValue
final implicit def toValue(js: JsValue): BSONValue
Inherited from:
SharedValueConvertersLowPriority1 (hidden)