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數學
含義
表示某個域的值爲空
在表達式語句中表示不存在
> 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 數據, 即對象類型
> 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 ] }