zoukankan      html  css  js  c++  java
  • MongoDB

    MongoDB BSON provides support for additional data types than JSONDrivers provide native support for these data types in host languages and the mongo shell also provides several helper classes to support the use of these data types in the mongo JavaScript shell. See the Extended JSON reference for additional information.

    Types

    Date

    The mongo shell provides various methods to return the date, either as a string or as a Date object:

    • Date() method which returns the current date as a string.
    • new Date() constructor which returns a Date object using the ISODate() wrapper.
    • ISODate() constructor which returns a Date object using the ISODate() wrapper.

    Internally, Date objects are stored as a 64 bit integer representing the number of milliseconds since the Unix epoch (Jan 1, 1970), which results in a representable date range of about 290 millions years into the past and future.

    Return Date as a String

    To return the date as a string, use the Date() method, as in the following example:

    var myDateString = Date();

    To print the value of the variable, type the variable name in the shell, as in the following:

    myDateString

    The result is the value of myDateString:

    Thu Dec 01 2016 00:44:26 GMT+0800 (CST)

    To verify the type, use the typeof operator, as in the following:

    typeof myDateString

    The operation returns string.

    Return Date

    The mongo shell wraps objects of Date type with the ISODate helper; however, the objects remain of type Date.

    The following example uses both the new Date() constructor and the ISODate() constructor to return Date objects.

    var myDate = new Date();
    var myDateInitUsingISODateWrapper = ISODate();

    You can use the new operator with the ISODate() constructor as well.

    To print the value of the variable, type the variable name in the shell, as in the following:

    myDate

    The result is the Date value of myDate wrapped in the ISODate() helper:

    ISODate("2016-11-30T16:48:47.527Z")

    To verify the type, use the instanceof operator, as in the following:

    myDate instanceof Date
    myDateInitUsingISODateWrapper instanceof Date

    The operation returns true for both.

    ObjectId

    The mongo shell provides the ObjectId() wrapper class around the ObjectId data type. To generate a new ObjectId, use the following operation in the mongo shell:

    new ObjectId

    SEE: ObjectId

    NumberLong

    By default, the mongo shell treats all numbers as floating-point values. The mongo shell provides theNumberLong() wrapper to handle 64-bit integers.

    The NumberLong() wrapper accepts the long as a string:

    NumberLong("2090845886852")

    The following examples use the NumberLong() wrapper to write to the collection:

    db.collection.insert( { _id: 10, calc: NumberLong("2090845886852") } )
    db.collection.update( { _id: 10 }, { $set:  { calc: NumberLong("2555555000000") } } )
    db.collection.update( { _id: 10 }, { $inc: { calc: NumberLong(5) } } )

    Retrieve the document to verify:

    db.collection.findOne( { _id: 10 } )

    In the returned document, the calc field contains a NumberLong object:

    { "_id" : 10, "calc" : NumberLong("2555555000005") }

    If you use the $inc to increment the value of a field that contains a NumberLong object by a float, the data type changes to a floating point value, as in the following example:

    1. Use $inc to increment the calc field by 5, which the mongo shell treats as a float:
      db.collection.update( { _id: 10 }, { $inc: { calc: 5 } } )
    2. Retrieve the updated document:
      db.collection.findOne( { _id: 10 } )

      In the updated document, the calc field contains a floating point value:

      { "_id" : 10, "calc" : 2555555000010 }

    NumberInt

    By default, the mongo shell treats all numbers as floating-point values. The mongo shell provides theNumberInt() constructor to explicitly specify 32-bit integers.

    Check Types in the mongo Shell

    To determine the type of fields, the mongo shell provides the instanceof and typeof operators.

    instanceof

    instanceof returns a boolean to test if a value is an instance of some type.

    For example, the following operation tests whether the _id field is an instance of type ObjectId:

    mydoc._id instanceof ObjectId

    The operation returns true.

    typeof

    typeof returns the type of a field.

    For example, the following operation returns the type of the _id field:

    typeof mydoc._id

    In this case typeof will return the more generic object type rather than ObjectId type.

  • 相关阅读:
    使用PHPExcel 读取 表格数据, 发现中文全变成 FALSE??
    使用百度编辑器--ueditor,后台接收提交编辑的内容,HTML不见了, 赋值不了,赋值之后,html暴露出来了??
    PHP中使用RabiitMQ---各项参数的使用方法
    Java包装类、拆箱和装箱详解
    Eclipse中新建Java工程的三个JRE选项区别
    博客园的代码运行
    35个jQuery小技巧(代码)
    前端最全的 API 集锦
    我的博客开张了
    达梦数据库TPCC测试
  • 原文地址:https://www.cnblogs.com/huey/p/6120385.html
Copyright © 2011-2022 走看看