NoSQLの一種

  • データベースにcollection(RDBでいうtable)を作成し、中にdocumentというrecordを作成する
    • documentは実質?JSON
      • 今のところ違いがわからない
  • show dbsでデータベースの一覧を確認できる
  • use <db name>でデータベースを選択し、db.<collection name>.<operation>() でcollectionを操作できる
    test> use example
    switched to db example
    example> db.users.insertMany([
    ... { name: "Alice", email: "[email protected]", age: 7 },
    ... { name: "Bob",   emali: "[email protected]", age: 24},
    ... ])
    {
      acknowledged: true,
      insertedIds: {
        '0': ObjectId('6876026292f8fdadc6baa8b9'),
        '1': ObjectId('6876026292f8fdadc6baa8ba')
      }
    }
    example> db.users.find()
    [
      {
        _id: ObjectId('6876026292f8fdadc6baa8b9'),
        name: 'Alice',
        email: '[email protected]',
        age: 7
      },
      {
        _id: ObjectId('6876026292f8fdadc6baa8ba'),
        name: 'Bob',
        emali: '[email protected]',
        age: 24
      }
    ]
    example> db.users.findOne({name: "Bob"})
    {
      _id: ObjectId('6876026292f8fdadc6baa8ba'),
      name: 'Bob',
      emali: '[email protected]',
      age: 24
    }
    example> db.users.find({age: {$lte: 12}})
    [
      {
        _id: ObjectId('6876026292f8fdadc6baa8b9'),
        name: 'Alice',
        email: '[email protected]',
        age: 7
      }
    ]
    
  • docker run -d --rm --name mongodb mongo して docker exec -it mongodb mongosh とすると対話環境を開けるよ