日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mongodb 2

發布時間:2023/12/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mongodb 2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mongodb使用

回顧mysql

  • 所有表的集合 --庫
  • 每一組信息 --表
  • 每一條信息 --字段

但是在mongodb中

  • 作為外層的容器還是叫databses
  • 在mongodb中表這個東西已經不存在了而叫做 集合(collection)
  • 在mongodb中字段這個東西也不存在了而叫做文檔(document)

mongodb使用

  • 連接
    語法:mongo空格127.0.0.1:27017
E:\MongoDB\bin>mongo MongoDB shell version v3.4.15-35-gae53ff0702 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.15-35-gae53ff0702 Server has startup warnings: 2019-08-13T14:53:41.467+0800 I CONTROL [initandlisten] 2019-08-13T14:53:41.467+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2019-08-13T14:53:41.467+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2019-08-13T14:53:41.467+0800 I CONTROL [initandlisten]
  • 操作
  • 查看數據庫:show空格dbs;
  • > show dbs admin 0.000GB local 0.000GB mgd 0.000GB
  • 切換/新增(如果有就是切換 如果沒有就是新增)數據庫
    use 空格 要切換或者新增的庫
  • > use mgd switched to db mgd

    注意新增有問題

    > show dbs admin 0.000GB local 0.000GB mgd 0.000GB

    當我們輸入一個沒有的庫名的時候本應該是新增 但是當我們輸入之后發現并沒有新增 原因是(其實新增了只是里面沒有集合所以不顯示)

  • 創建集合:
    db.要創建的集合名字.insert({k:v})
  • > db.chuichui.insert({"name":"大錘",age:20,sex:"男"}) WriteResult({ "nInserted" : 1 })
  • 查看集合
    show空格collections
  • > show collections chuichui
  • 刪除庫
    必須先切換到你要刪的庫 use空格庫名
    db.dropDatabase()
  • 刪除集合
    必須先要切換到指定要刪除集合的庫中
    db.要刪除的集合名.drop()
  • > use mgd switched to db mgd > db.chuichui.drop() true > show collections >

    基本的外圍操作完了

    上面的內容重要程度沒有下面高必須要記住:

    1. 要對集合進行增刪改查那么必須要有集合

    只創建集合的語法
    db.createCollection(“要創建集合的名字”);

    > db.createCollection("NO13") { "ok" : 1 }

    2. 新增

    最單純的新增(基礎語法)
    db.要插入的集合名.insert({k:v})

    > db.NO13.insert({"name":"王大錘",age:20,sex:"男"}) WriteResult({ "nInserted" : 1 })

    為了查看我們是否新增成功 使用查詢語句來查看
    db.要查詢的集合.find()

    > db.NO13.find() { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" } { "_id" : ObjectId("5d53b2c308a6149f969e8df4"), "name" : "王木錘", "age" : 16, "sex" : "女" } { "_id" : ObjectId("5d53b2e208a6149f969e8df5"), "name" : "王銅錘", "age" : 18, "sex" : "男" } { "_id" : ObjectId("5d53b2f308a6149f969e8df6"), "name" : "王金錘", "age" : 19, "sex" : "男" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" }

    大家會發現id是自動添加的,比較難記
    手工新增id
    db.要插入的集合名.insert({"_id":1,k:v})

    > db.NO13.insert({"_id":1,"name":"王小錘",age:13,sex:"男"}) WriteResult({ "nInserted" : 1 })

    既然是手工指定那么千萬不要重名

    3. 多條插入

    db.要插入的集合.insert([{k:v},{k:v}])

    > db.NO13.insert([{"name":"王鋼錘"},{"name":"王石錘"}]) BulkWriteResult({"writeErrors" : [ ],"writeConcernErrors" : [ ],"nInserted" : 2,"nUpserted" : 0,"nMatched" : 0,"nModified" : 0,"nRemoved" : 0,"upserted" : [ ] })

    4. 查詢

  • 按照條件進行查詢
  • db.要查詢的集合名.find({k:v})

    > db.NO13.find({age:18}) { "_id" : ObjectId("5d53b2e208a6149f969e8df5"), "name" : "王銅錘", "age" : 18, "sex" : "男" }
  • 格式化查詢數據
    Db.要查詢的數據find({k:v},{k:0/1}) 0不顯示 1顯示
  • > db.NO13.find({"name":"王金錘"},{"age":1,"_id":0}) { "age" : 19 } > db.NO13.find({"age":20},{"sex":1,"_id":0}) { "sex" : "男" }
  • 查詢匹配更多內容
    Db.要查詢的數據.find({查詢的內容1,查詢的內容2···})
  • > db.NO13.find({"name":"王銀錘",sex:"女"}) { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" }
  • 條件查詢
    Db.查詢的集合.find({“要查詢的k”:{條件:值}})
    條件
    • (>) 大于 - $gt
    • (<) 小于 - $lt
    • (>=) 大于等于 - $gte
    • (<= ) 小于等于 - $lte
    • (!=) 不等于 - $ne:
      代碼:
    > db.NO13.find({"age":{$gt:19}}) { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" } > db.NO13.find({"age":{$lt:19}}) { "_id" : ObjectId("5d53b2c308a6149f969e8df4"), "name" : "王木錘", "age" : 16, "sex" : "女" } { "_id" : ObjectId("5d53b2e208a6149f969e8df5"), "name" : "王銅錘", "age" : 18, "sex" : "男" } { "_id" : 1, "name" : "王小錘", "age" : 13, "sex" : "男" } > db.NO13.find({"age":{$gte:19}}) { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" } { "_id" : ObjectId("5d53b2f308a6149f969e8df6"), "name" : "王金錘", "age" : 19, "sex" : "男" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" } > db.NO13.find({"age":{$lte:19}}) { "_id" : ObjectId("5d53b2c308a6149f969e8df4"), "name" : "王木錘", "age" : 16, "sex" : "女" } { "_id" : ObjectId("5d53b2e208a6149f969e8df5"), "name" : "王銅錘", "age" : 18, "sex" : "男" } { "_id" : ObjectId("5d53b2f308a6149f969e8df6"), "name" : "王金錘", "age" : 19, "sex" : "男" } { "_id" : 1, "name" : "王小錘", "age" : 13, "sex" : "男" } > db.NO13.find({"age":{$ne:19}}) { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" } { "_id" : ObjectId("5d53b2c308a6149f969e8df4"), "name" : "王木錘", "age" : 16, "sex" : "女" } { "_id" : ObjectId("5d53b2e208a6149f969e8df5"), "name" : "王銅錘", "age" : 18, "sex" : "男" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" } { "_id" : 1, "name" : "王小錘", "age" : 13, "sex" : "男" } { "_id" : ObjectId("5d53b53b08a6149f969e8df8"), "name" : "王鋼錘" } { "_id" : ObjectId("5d53b53b08a6149f969e8df9"), "name" : "王石錘" }
  • 匹配查詢多個內容
    Db.要查詢的集合.find({$or:[{查詢的內容1},{查詢的內容2}]})
  • > db.NO13.find({$or:[{"name":"王金錘"},{"name":"王鐵錘"}]}) { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" } { "_id" : ObjectId("5d53b2f308a6149f969e8df6"), "name" : "王金錘", "age" : 19, "sex" : "男" }
  • 排序查詢
    db.要查詢的集合.find().sort({要排序的內容:-1倒序/1正序})
  • > db.NO13.find().sort({"age":-1}) { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" } { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b2f308a6149f969e8df6"), "name" : "王金錘", "age" : 19, "sex" : "男" } { "_id" : ObjectId("5d53b2e208a6149f969e8df5"), "name" : "王銅錘", "age" : 18, "sex" : "男" } { "_id" : ObjectId("5d53b2c308a6149f969e8df4"), "name" : "王木錘", "age" : 16, "sex" : "女" } { "_id" : 1, "name" : "王小錘", "age" : 13, "sex" : "男" } { "_id" : ObjectId("5d53b53b08a6149f969e8df8"), "name" : "王鋼錘" } { "_id" : ObjectId("5d53b53b08a6149f969e8df9"), "name" : "王石錘" }> db.NO13.find().sort({"age":1}) { "_id" : ObjectId("5d53b53b08a6149f969e8df8"), "name" : "王鋼錘" } { "_id" : ObjectId("5d53b53b08a6149f969e8df9"), "name" : "王石錘" } { "_id" : 1, "name" : "王小錘", "age" : 13, "sex" : "男" } { "_id" : ObjectId("5d53b2c308a6149f969e8df4"), "name" : "王木錘", "age" : 16, "sex" : "女" } { "_id" : ObjectId("5d53b2e208a6149f969e8df5"), "name" : "王銅錘", "age" : 18, "sex" : "男" } { "_id" : ObjectId("5d53b2f308a6149f969e8df6"), "name" : "王金錘", "age" : 19, "sex" : "男" } { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" } { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" }

    limit讀取指定數量的數據記錄條數
    skip使用skip()方法來跳過指定數量的數據

    > db.NO13.find().skip(4) { "_id" : ObjectId("5d53b2f308a6149f969e8df6"), "name" : "王金錘", "age" : 19, "sex" : "男" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" } { "_id" : 1, "name" : "王小錘", "age" : 13, "sex" : "男" } { "_id" : ObjectId("5d53b53b08a6149f969e8df8"), "name" : "王鋼錘" } { "_id" : ObjectId("5d53b53b08a6149f969e8df9"), "name" : "王石錘" }> db.NO13.find().skip(0).limit(2) { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" }

    返回結果集中的數量count()

    > db.NO13.find().count() 9

    修改:

    >db.collection.update({<query>},{$set:{<update>}},{upsert: <boolean>,multi: <boolean>} )

    query:查詢出要修改的數據
    update:要修改的數據的值
    upsert:可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,默認是false,不插入
    multi: 可選,MongoDB 默認是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新
    7. 單純的修改

    > db.NO13.update({"age":16},{"age":116}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.NO13.find() { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" } { "_id" : ObjectId("5d53b2c308a6149f969e8df4"), "age" : 116 } { "_id" : ObjectId("5d53b2e208a6149f969e8df5"), "name" : "王銅錘", "age" : 18, "sex" : "男" } { "_id" : ObjectId("5d53b2f308a6149f969e8df6"), "name" : "王金錘", "age" : 19, "sex" : "男" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" } { "_id" : 1, "name" : "王小錘", "age" : 13, "sex" : "男" } { "_id" : ObjectId("5d53b53b08a6149f969e8df8"), "name" : "王鋼錘" } { "_id" : ObjectId("5d53b53b08a6149f969e8df9"), "name" : "王石錘" }> db.NO13.update({"age":116},{$set:{"name":"王家小錘爺"}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.NO13.find() { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" } { "_id" : ObjectId("5d53b2c308a6149f969e8df4"), "age" : 116, "name" : "王家小錘爺" } { "_id" : ObjectId("5d53b2e208a6149f969e8df5"), "name" : "王銅錘", "age" : 18, "sex" : "男" } { "_id" : ObjectId("5d53b2f308a6149f969e8df6"), "name" : "王金錘", "age" : 19, "sex" : "男" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" } { "_id" : 1, "name" : "王小錘", "age" : 13, "sex" : "男" } { "_id" : ObjectId("5d53b53b08a6149f969e8df8"), "name" : "王鋼錘" } { "_id" : ObjectId("5d53b53b08a6149f969e8df9"), "name" : "王石錘" }

    修改更多內容

    > db.NO13.update({"age":19},{$set:{"sec":"半男不女"}},{multi:true}) WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 }) > db.NO13.find() { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" } { "_id" : ObjectId("5d53b2c308a6149f969e8df4"), "age" : 116, "name" : "王家小錘爺" } { "_id" : ObjectId("5d53b2e208a6149f969e8df5"), "age" : 19, "sec" : "半男不女" } { "_id" : ObjectId("5d53b2f308a6149f969e8df6"), "name" : "王金錘", "age" : 19, "sex" : "男", "sec" : "半男不女" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" } { "_id" : 1, "name" : "王小錘", "age" : 13, "sex" : "男" } { "_id" : ObjectId("5d53b53b08a6149f969e8df8"), "name" : "王鋼錘" } { "_id" : ObjectId("5d53b53b08a6149f969e8df9"), "name" : "王石錘" }
  • 刪除
    Db.要刪除的集合.remove({k:v})默認刪除匹配到的所有內容
  • > db.NO13.remove({"age":19}) WriteResult({ "nRemoved" : 2 }) > db.NO13.find() { "_id" : ObjectId("5d53b24708a6149f969e8df2"), "name" : "王大錘", "age" : 20, "sex" : "男" } { "_id" : ObjectId("5d53b2a408a6149f969e8df3"), "name" : "王鐵錘", "age" : 30, "sex" : "男" } { "_id" : ObjectId("5d53b2c308a6149f969e8df4"), "age" : 116, "name" : "王家小錘爺" } { "_id" : ObjectId("5d53b30a08a6149f969e8df7"), "name" : "王銀錘", "age" : 23, "sex" : "女" } { "_id" : 1, "name" : "王小錘", "age" : 13, "sex" : "男" } { "_id" : ObjectId("5d53b53b08a6149f969e8df8"), "name" : "王鋼錘" } { "_id" : ObjectId("5d53b53b08a6149f969e8df9"), "name" : "王石錘" }

    只想刪除一條 justOne

    Mongoose是一個node的第三方庫,他的作用就是幫助node更好更高效的連接mongodb

    總結

    以上是生活随笔為你收集整理的Mongodb 2的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。