🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[info] MongoDB 控制台操作 **进入MongoDB数据库控制台:** ``` mongo ``` **查看版本:** ``` version() ``` **查看当前所有数据库列表:** ~~~ show dbs ~~~ **查看当前库:** ``` db ``` **查看用户组** ``` show users ``` **创建数据库** ~~~ // 创建库testdb use testdb // 创建访问testdb库的用户test,数据库连接是的验证库是1q2w3e db.createUser({user: "test",pwd: "1q2w3e",roles: [ "readWrite", "dbAdmin" ]}); // 退出 quit() ~~~ **删除数据库** ~~~ db.dropDatabase() ~~~ **创建用户** ~~~ db.createUser( {   user: "admin",   pwd: "1q2w3e",   roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) ~~~ **数据操作** ~~~ // 进入数据库 use testdb // 权限 db.auth('test','1q2w3e') //创建表 db.createCollection("test01") // 插入数据 db.test1.insert({ID:1,UserName:"Frank",info:"China",Age:15,Email:"test@test.com",CreateDate:"2017-06-05 14:36:95"}) // 查看数据 db.test1.find() ~~~ >[info] MongoDB 集合/文档操作 **查看当前所有集合(表):** ``` // 语法 show collections ``` **创建集合(表):** ~~~ // 语法 db.createCollection() > use test // 创建 test 表 > db.createCollection("test") { "ok" : 1 } ~~~ **删除集合(表):** ~~~ // 语法 db.collection.drop() > use test // 删除 test 表 > db.test.drop() true ~~~ **插入文档(数据集):** ``` // 语法 db.COLLECTION_NAME.insert(document) 或 db.COLLECTION_NAME.save(document) db.test.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 }) ``` * db.collection.insertOne() 用于向集合插入一个新文档 * db.collection.insertMany([{document 1},{document 2}...]) 用于向集合插入一个多个文档 **更新文档(数据集):** ~~~ // 语法 db.collection.update(query,update) // 把 title 为 MongoDB 教程 改为 MongoDB db.test.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}}) ~~~ * **query**: update的查询条件,类似sql update查询内where后面的。 * **update**: update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的。 **删除文档(数据集):** ~~~ // 语法 db.collection.remove(query,justOne) // 删除 title 值 为 MongoDB 教程 的所有文档 db.test.remove({'title':'MongoDB 教程'}) // 删除所有数据 db.test.remove({}) ~~~ * **query**:(可选)删除的文档的条件。 * **justOne**: (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。 **查询文档(数据集):** ~~~ // 语法 db.collection.find(query, projection) // 以易读的方式来读取数据 db.test.find().pretty() // findOne() 只返回1个文档 db.collection.findOne() // find() 方法可以传入多个键(key),每个键(key)以逗号隔开,即常规 SQL 的 AND 条件 db.collection.find({key1:value1, key2:value2}).pretty() // MongoDB OR 条件 db.collection.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty() // AND 和 OR 联合使用(where likes>50 AND (by = '菜鸟教程' OR title = 'MongoDB 教程')) db.collection.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty() ~~~ * **query**:可选,使用查询操作符指定查询条件