【mongoDB】學習(二)robot 3T 學習簡單的CRUD

(二)robot 3T 學習簡單的CRUD

1、create

//插入一條
db.getCollection('auth_users').insert(
{
    "userName" : "test007",
    "phone" : "13800001237",
    "password" : "123456"
})
//插入多條數據(初始化插入數據,爲後面的查詢做準備)
db.getCollection('auth_users').insertMany([
{
    "userName" : "test015",
    "phone" : "13800001230",
    "password" : "123456",
    "age" : 20,
    "isLive" : 0
},
{
    "userName" : "test014",
    "phone" : "13800001231",
    "password" : "123456",
    "age" : 28,
    "isLive" : 1,
    "class" : [ 
        "語文", 
        "英語"
    ]
},
{
    "userName" : "test013",
    "phone" : "13800001232",
    "password" : "123456",
    "age" : 33,
    "class" : [ 
        "語文", 
        "英語", 
        "數學"
    ]
},
{
    "userName" : "test012",
    "phone" : "13800001233",
    "password" : "123456",
    "age" : 45,
    "friends" : [ 
        {
            "fname" : "ff11",
            "fsex" : 0
        }, 
        {
            "fname" : "ff22",
            "fsex" : 1
        }
    ]
},
{
    "userName" : "test011",
    "phone" : "13800001237",
    "password" : "123456",
    "age" : 19,
    "friends" : [ 
        {
            "fname" : "ff11",
            "fsex" : 0
        }
    ]
}]
)

2、read

//查找username 等於test001的人員信息,與where username=‘test001’相同
db.getCollection('auth_users').find({"userName":"test001"})
//查找username 含有007的人員信息,與 username like ‘%007%’相同
db.getCollection('auth_users').find({"userName":{"$regex":"007"}})
//計數
db.getCollection('auth_users').find({}).count()
//=
db.getCollection('auth_users').find({"age":{"$eq":20}})
//!=
db.getCollection('auth_users').find({"age":{"$ne":20}})
//>
db.getCollection('auth_users').find({"age":{"$gt":20}})
//<
db.getCollection('auth_users').find({"age":{"$lt":20}})
//>=
db.getCollection('auth_users').find({"age":{"$gte":20}})
//<=
db.getCollection('auth_users').find({"age":{"$lte":20}})
//in
db.getCollection('auth_users').find({"age":{"$in":[20,19]}})
//not in
db.getCollection('auth_users').find({"age":{"$nin":[20,19]}})
//$exists 存在,如果true則後續可以繼續對該信息增加條件,反之則不用
db.getCollection('auth_users').find({"isLive":{"$exists":false}})
db.getCollection('auth_users').find({"isLive":{"$exists":true,"$in":[0,2]}})
//$size 對存在array的數據用 size進行篩選
db.getCollection('auth_users').find({"friends":{"$exists":true,"$size":2}})
//$all 針對array進行查詢,並且全包含纔會被查詢出來
db.getCollection('auth_users').find({"class":{"$all":[ "語文", "英語","數學"]}})
//$and 語法{key1:value1, key2:value2}
db.getCollection('auth_users').find({"age":{"$gte":20},"class":{"$size":2}})
//$or 語法 $or: [{key1: value1}, {key2:value2}]
db.getCollection('auth_users').find(
{"$or":
  [
    {
        "age":{"$gt":30}
    }
    ,{
        "friends":{"$exists":true,"$size":2}
    }
  ]
}
)

3、update

/*
db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
query : update的查詢條件,類似sql update查詢內where後面的。
update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解爲sql update查詢內set後面的
upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true爲插入,默認是false,不插入。
multi : 可選,mongodb 默認是false,只更新找到的第一條記錄,如果這個參數爲true,就把按條件查出來多條記錄全部更新。
writeConcern :可選,拋出異常的級別。
*/

db.getCollection('auth_users').find({"age":{"$lte":20}})
db.getCollection('auth_users').update(
{"age":{"$lte":20}},
{"$set":{"isLive":1}},
{
  upset:true,
  multi:true
}
)
/*
save() 方法通過傳入的文檔來替換已有文檔,_id 主鍵存在就更新,不存在就插入
db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)
*/
db.getCollection('auth_users').save(
{
    "_id" : ObjectId("5ed51582ee0e9ba7508fd6c0"),
    "userName" : "test001",
    "phone" : "13800001230",
    "password" : "123456",
    "age" : 20,
    "isLive" : 1.0,
    "class":["歷史"]
}
)

4、delete

/*
db.collection.remove(
   <query>,
   <justOne>
)
query :(可選)刪除的文檔的條件。
justOne : (可選)如果設爲 true 或 1,則只刪除一個文檔,如果不設置該參數,或使用默認值 false,則刪除所有匹配條件的文檔。
*/
db.getCollection('auth_users').find({"age":{"$gte":40}})
db.getCollection('auth_users').remove({"age":{"$gte":40}},{justOne:true})
//如果想刪除所有數據:
db.col.remove({})

https://www.runoob.com/mongodb/mongodb-remove.html

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