mongoDB 其餘數據類型

時間  類型

獲取當前時間

new Date()    自動生成當前時間(國際標準時間)數組

db.class.insertOne({book:"數學",date:new Date()})

Date()   獲取當前操做系統的時間(當地時間)函數

時間函數

ISODate(date)spa

功能  將指定時間轉換爲mongoDB 存儲時間操作系統

參數  默認當前的 ISO 時間code

      經過字符串指定時間對象

"2019-1-1 11:11:11"
"
20190101 11:11:11"
"
20190101"

獲取時間戳

valueOf()blog

功能  根據標準時間生成時間戳文檔

> db.class.insert({book:"yes",date:ISODate("20190101 11:11:11").valueOf()})
添加數據: { "book" : "yes", "date" : 1546341071000 }

Null  類型

表示空值字符串

  null數學

含義  

  表示某個域的值爲空

  在表達式語句中表示不存在

> db.class.insert({book:"yes",price:null})
WriteResult({ "nInserted" : 1 })
添加數據{ "book" : "yes", "price" :
null }

> db.class.find({price:null}) 把全部不存在 price 的以及存在 price:null 的查詢出來了 輸出: { "_id" : ObjectId("5c78d0ac24dd494da47a3276"), "book" : "yes", "date" : 1546341071000 } { "_id" : ObjectId("5c78d1f924dd494da47a3277"), "book" : "yes", "price" : null }

ps:

對比一下 $exists

  $exists 只會查出不存在的

  field:null 還會把 存在field的值爲空的也查詢出來

Object  對象

定義: 文檔中每一個域的值爲文檔, 該文檔稱爲 object 數據, 即對象類型

建立

> db.class.insertOne({author:"yt",book:{title:"羊駝日記",publish:"羊駝出版社",price:999}})
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5c78d4d824dd494da47a3278")
}

查詢

用 "外部域.內部域" 的格式, 並且必須加 引號 標記爲字符串, 不然沒法識別

> db.class.find({"book.title":"羊駝之歌"},{_id:0})
{ "author" : "yang", "book" : { "title" : "羊駝之歌", "publish" : "羊駝出版社", "price" : 998 } }
>

修改

就沒啥大區別了同其餘.無非就是 字段的部分變一下罷了

> db.class.updateOne({"book.title":"羊駝之歌"},{$set:{price:555}})
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
修改前: { "author" : "yang", "book" : { "title" : "羊駝之歌", "publish" : "羊駝出版社", "price" :
998 } } 修改後: { "author" : "yang", "book" : { "title" : "羊駝之歌", "publish" : "羊駝出版社", "price" : 555 } }

ps:

  由此延伸到數組, 數組下標也能夠直接引用方法

 

"數組域.下標" 能夠獲取某一項值, 篩選仍是修改或者刪除均可以依舊就是更換域名而已

> db.class.find({"score.0":{$gt:10}})
{ "_id" : ObjectId("5c78974324dd494da47a3275"), "name" : "mm", "age" : 12, "score" : [ 12, 16, 17, 18, 26, 89, 90 ] }

> db.class.updateOne({name:"mm"},{$set:{"score.0":88}}) { "_id" : ObjectId("5c78974324dd494da47a3275"), "name" : "mm", "age" : 12, "score" : [ 88, 16, 17, 18, 26, 89, 90 ] }
相關文章
相關標籤/搜索