docker search mongo
docker pull mongo
docker run -p 27017:27017 -v /tmp/db:/data/db -d mongo
docker ps
docker exec -it 4abc1e6e12bd mongo admin
db.createUser({ user: 'admin', pwd: '密碼', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
db.auth("admin","密碼");
https://robomongo.org/downloadmysql
show databases
db.getMongo().getDBs()
db
插入多條數據insert()sql
只能插入一條數據insertOne()mongodb
插入多條數據insertMany()docker
// teachers就是集合,{name: "smallstudy"}這些就是文檔 db.teachers.insert([ {name: "smallstudy"}, {name: "zhangsan"}, {name: "lisi"} ]) // 等價於 db.teachers.insertMany([ {name: "smallstudy"}, {name: "zhangsan"}, {name: "lisi"} ])
一對多數據庫
db.teachers.insertMany([ {name: "smallstudy"}, {name: "zhangsan"}, {name: "lisi"} ]) //建立後拿到teachers的id db.students.insert([ {name: "laodage", teacher_id: ObjectId("5c7102f7eda36e7892b9defb")}, {name: "xiaolaodi", teacher_id: ObjectId("5c7102f7eda36e7892b9defb")}, {name: "enen", teacher_id: ObjectId("5c7102f7eda36e7892b9defc")} ]) // 查詢 var teacher_id = db.teachers.findOne({"_id": ObjectId("5c7102f7eda36e7892b9defb")})._id; db.students.find({teacher_id: teacher_id}); // 或 db.students.find({teacher_id: db.teachers.findOne({"_id": ObjectId("5d25861568a280ba089f91d1")})._id});
find()oracle
findOne()工具
// 查集合下全部文檔 db.teachers.find() // 查集合下某個文檔 db.teachers.find()[0] db.teachers.find({"name": "zhangsan"}) // 查看集合長度,也就是看集合有多少文檔 db.teachers.find().count() db.teachers.find().length() // 只顯示2條數據 db.teachers.find().limit(2) // 跳過第1條數據顯示2條數據,用於分頁 db.teachers.find().skip(1).limit(2)
update()spa
updateOne()3d
updateMany()code
replaceOne()
db.teachers.update({"name": "lisi"}, {$set:{"name": "lisi2", "age": 25}}) // 這裏的修改時先刪除後添加的
remove()
deleteOne()
deleteMany()
drop()
// 直接刪集合 db.teachers.remove() db.collectionName.drop() // 刪文檔 db.teachers.remove({"name": "lisi2"})