1. 程式人生 > >MongoDB CRUD之C

MongoDB CRUD之C

writer shell nim tco ali ora 多條 多個 mes

數據庫操作

命令 操作
db 查看當前數據庫
show dbs 查看當前端口有多少數據庫
use db_name 切換數據庫,沒有數據庫時自動創建
db.dropDatabase() 刪除數據庫

其他的命令可以使用db.help()或者官網查看

集合操作

命令 操作
db.collection_name.insert(doc) 會在插入文檔時自動創建集合
db.collection_name.drop() 刪除集合
show collections 顯示當前數據庫中的集合

其他的命令可以使用db.mycoll.help()查看或者官網查看

文檔插入

命令 操作
db.createCollection(name, {size: ., capped: ., max: .} ) 創建指定數據庫
db.collection.insertOne() 將單個文檔插入到集合中。
db.collection.insert() 將單個文檔或多個文檔插入到集合中。
db.collection.insertMany() 將多個文檔插入到一個集合中。

Create

  • 數據庫

    • 創建或者切換數據庫

      $ mongo
      1 > use company
      switched to db company
      2 > db
      company
      3 >
    • 查看當前或者所有數據庫

      2 > db
      company
      3 > show dbs
      admin  0.000GB
      local  0.000GB
      test   0.000GB
      4 >

      註因為當前數據庫中沒有數據,所以查看不到

    • 刪除數據庫

      4 > db
      company
      5 > db.dropDatabase()
      { "ok" : 1 }
      6 > db
      company
      7 >

      刪除完當前數據庫後,很奇怪的是當前數據庫仍然是company

  • 集合

    • 插入文檔並自動創建集合

      11 > db.unicorns.insert({
      ...      name: 'Aurora',
      ...      gender: 'f',
      ...      weight: 450
      ... })
      WriteResult({ "nInserted" : 1 })

      插入文檔後由於有了數據,所以查看得到了數據庫

      12 > show dbs
      admin    0.000GB
      company  0.000GB
      local    0.000GB
      test     0.000GB
    • 顯示當前數據庫中的集合

      13 > show collections
      unicorns
    • 列表顯示集合名字

      14 > db.getCollectionNames()
      [ "unicorns" ]
    • 刪除集合

      15 > db.unicorns.drop()
      true
      16 > show collections
      17 > db.getCollectionNames()
      [ ]
      18 >
  • 文檔

    • 插入一條數據

      18 > db.unicorns.insert({
      ...      name    : 'Aurora',
      ...      gender  : 'f',
      ...      weight  : 450
      ... })
      WriteResult({ "nInserted" : 1 })
    • 插入多條數據

      插入數據太多,使用js文檔

      db.unicorns.insertMany([
          {
              name: 'Horny',
              dob: new Date(1992,2,13,7,47),
              loves: ['carrot','papaya'],
              weight: 600,
              gender: 'm',
              vampires: 63},
      
          {
              name: 'Aurora',
              dob: new Date(1991, 0, 24, 13, 0),
              loves: ['carrot', 'grape'],
              weight: 450,
              gender: 'f',
              vampires: 43},
          {
              name: 'Unicrom',
              dob: new Date(1973, 1, 9, 22, 10),
              loves: ['energon', 'redbull'],
              weight: 984,
              gender: 'm',
              vampires: 182},
          {
              name: 'Roooooodles',
              dob: new Date(1979, 7, 18, 18, 44),
              loves: ['apple'],
              weight: 575,
              gender: 'm',
              vampires: 99},
          {
              name: 'Solnara',
              dob: new Date(1985, 6, 4, 2, 1),
              loves:['apple', 'carrot',
              'chocolate'],
              weight:550,
              gender:'f',
              vampires:80},
          {
              name:'Ayna',
              dob: new Date(1998, 2, 7, 8, 30),
              loves: ['strawberry', 'lemon'],
              weight: 733,
              gender: 'f',
              vampires: 40},
          {
              name:'Kenny',
              dob: new Date(1997, 6, 1, 10, 42),
              loves: ['grape', 'lemon'],
              weight: 690,
              gender: 'm',
              vampires: 39},
          {
              name: 'Raleigh',
              dob: new Date(2005, 4, 3, 0, 57),
              loves: ['apple', 'sugar'],
              weight: 421,
              gender: 'm',
              vampires: 2},
          {
              name: 'Leia',
              dob: new Date(2001, 9, 8, 14, 53),
              loves: ['apple', 'watermelon'],
              weight: 601,
              gender: 'f',
              vampires: 33},
          {
              name: 'Pilot',
              dob: new Date(1997, 2, 1, 5, 3),
              loves: ['apple', 'watermelon'],
              weight: 650,
              gender: 'm',
              vampires: 54},
          {
              name: 'Nimue',
              dob: new Date(1999, 11, 20, 16, 15),
              loves: ['grape', 'carrot'],
              weight: 540,
              gender: 'f'},
          {
              name: 'Dunx',
              dob: new Date(1976, 6, 18, 18, 18),
              loves: ['grape', 'watermelon'],
              weight: 704,
              gender: 'm',
              vampires: 165}
      ])

      Mongo shell使用load("insertM.js")

      19 > load("insertM.js")
      true
      20 > db.unicorns.find()
      { ..., "name" : "Aurora", "gender" : "f", "weight" : 450 }
      { ..., "name" : "Horny", "dob" : ISODate("1992-03-12T23:47:00Z"), ...}
      { ..., "name" : "Aurora", "dob" : ISODate("1991-01-24T05:00:00Z"), ... }
      ......
      21 > db.unicorns.count()
      13

      可以看到插入了13條數據

    • 插入多條或者一條數據使用insert

      • 插入一條時語法與insertOne一樣
      • 插入多條時語法與insertMany一樣
    • 循環插入多條數據

      22 > for(i = 3; i < 100;  i ++)db.set2test.insert({x:i})
      WriteResult({ "nInserted" : 1 })
      23 > db.set2test.count()
      97

      可以看到使用了循環插入並創建集合 set2test ,插入完成後集合中有了97條數據

      ?

MongoDB CRUD之C