mongodb如何使用

一.根據數組字段的某個值查詢指定字段

例如:我想根據friend字段(數組)下的子字段查出我想要的指定字段
在這裏插入圖片描述
查詢語句:
說明:“initiatorPhone”:1,“initiatorUserId”:1代表只查詢這兩個字段,如果是0則代表過濾這倆字段。
和mysql的select ‘a,b,c’ form table指定字段效果一樣

db.getCollection("zhuli201909300943").find({"friends.friendNickName":"李可欣"},{"initiatorPhone":1,"initiatorUserId":1});

結果:
在這裏插入圖片描述

二.查詢時間範圍

$gt, $lt, $gte, $lte 分別對應(>, <, >=, <=)
demo: 查詢指定時間範圍的數據

db.getCollection("zhulirecords").find({"initiatorUserId":2003, "createTime" : { "$gte" : ISODate("2019-09-29T05:00:00Z")
, "$lt" : ISODate("2019-09-29T05:05:00Z") } });

在這裏插入圖片描述

三.批量更新或插入表數據

db.dreamconfigs.update({}, {$set: {"type": "yuanmeng"}}, {multi: 1})

效果:
在這裏插入圖片描述更新了15條
在這裏插入圖片描述

四.查詢數組字段的長度值


db.zhuli201909280535.aggregate([{ "$match" : { "initiatorUserId" : 2623}}, { "$project" : {"count":{"$size":"$friends"} }} ])

在這裏插入圖片描述

五.創建數據庫權限

如果需要外網訪問首先在你的服務器出入向規則打開端口權限
在這裏插入圖片描述
另外要配置綁定IP改爲0.0.0.0

不同權限對應的名稱:
數據庫用戶角色:read、readWrite
數據庫管理角色:dbAdmin、dbOwner、userAdmin
集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
備份恢復角色:backup、restore
所有數據庫角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
dbAdminAnyDatabase
超級用戶角色:root

db.createUser(
  {
    user: "root",
    pwd: "root",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }]
  }
)

六、刪除表字段

db.zhulirecords.update({},{$unset:{'zhulirecords':''}},false, true)

七、批量修改字段類型

* 一層字段類型更改:
db.cjcounts.find({"laveCount":{$type:16}}).forEach(
    function(x){
            db.cjcounts.updateOne({_id: x._id}, {$set:{laveCount: String(x.laveCount)}})
    }
);
* 多層字段類型更改:
db.zhongjiangs.find({}).forEach(
    function (x) {
        x.jiangList.forEach(function (doc) {
            printjson(doc)
            db.zhongjiangs.updateOne({"jiangList._id": doc._id}, {$set: {"jiangList.$.initiatorUserId": String(doc.initiatorUserId)}})
        })
    }
)
*字段類型編號: 

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章