Pull image
sudo docker pull mongo
Start container
sudo docker run --name mongo -d -p 27017:27017 mongo
c38be4173edc4490e954c1046abe47aadf39c938e2faa188c89aef0cad221e0d
Folder
/data/db
Go to shell, 進這個 shell 之後可以輸入 javascript, 也可以定義 function.
docker exec -it mongo bash
iliao@MacBook-Pro ~ % docker exec -it mongo bash
root@12c0a2efb72c:/# mongo
>
如果沒輸入完整的 javascript command, 可以按三下 enter 之後跳出來
> Math.sin(Math.PI/2)
1
> a =
...
...
>
Create data
// Define movie
> movie = {"title":"A movie", "director": "A director", "year":2020}
{ "title" : "A movie", "director" : "A director", "year" : 2020 }
// Insert a movie
> db.movies.insertOne(movie)
{
"acknowledged" : true,
"insertedId" : ObjectId("5f685a71a9ea26aaea91f834")
}
// Query a movie
> db.movies.find().pretty()
{
"_id" : ObjectId("5f685a71a9ea26aaea91f834"),
"title" : "A movie",
"director" : "A director",
"year" : 2020
}
// 定義第二部電影
> movie2 = {"title":"A movie 2", "director": "A director 2", "year":2020}
{ "title" : "A movie 2", "director" : "A director 2", "year" : 2020 }
// 儲存第二部電影
> db.movies.insertOne(movie2)
{
"acknowledged" : true,
"insertedId" : ObjectId("5f685b21a9ea26aaea91f835")
}
// 把電影都列出來
> db.movies.find().pretty()
{
"_id" : ObjectId("5f685a71a9ea26aaea91f834"),
"title" : "A movie",
"director" : "A director",
"year" : 2020
}
{
"_id" : ObjectId("5f685b21a9ea26aaea91f835"),
"title" : "A movie 2",
"director" : "A director 2",
"year" : 2020
}
讀一筆資料 READ
> db.movies.findOne()
{
"_id" : ObjectId("5f685a71a9ea26aaea91f834"),
"title" : "A movie",
"director" : "A director",
"year" : 2020
}
更新一筆資料 UPDATE
// 指定條件: title
// 修改: $set
> db.movies.updateOne({"title":"A movie"}, {$set:{reviews:[], "title":"A movie 3"}})
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
// 檢查修改結果
> db.movies.find().pretty()
{
"_id" : ObjectId("5f685a71a9ea26aaea91f834"),
"title" : "A movie 3",
"director" : "A director",
"year" : 2020,
"reviews" : [ ]
}
{
"_id" : ObjectId("5f685b21a9ea26aaea91f835"),
"title" : "A movie 2",
"director" : "A director 2",
"year" : 2020
}
Delete a record
> db.movies.deleteOne({"title":"A movie 3"})
{ "acknowledged" : true, "deletedCount" : 1 }
> db.movies.find().pretty()
{
"_id" : ObjectId("5f685b21a9ea26aaea91f835"),
"title" : "A movie 2",
"director" : "A director 2",
"year" : 2020
}
Delete multiple records
> db.movies.deleteMany({})
{ "acknowledged" : true, "deletedCount" : 1 }
> db.movies.find().pretty()
>
沒有留言:
張貼留言