MongoDB-基本命令学习一
来源:互联网 发布:翻译官软件下载 编辑:程序博客网 时间:2024/06/01 07:54
MongoDB-基本命令学习一
MongoDB 新建/删除数据库> use fyluse fyl (use dbname 默认就创建了数据库,但是show dbs不会显示,需要插入一条记录)switched to db fyl> show dbsshow dbsblog 0.000GBlocal 0.000GBtest 0.000GB> > db.fyl.insert({name:"fyl",age:11})db.fyl.insert({name:"fyl",age:11})WriteResult({ "nInserted" : 1 })> > show dbsshow dbsblog 0.000GBfyl 0.000GBlocal 0.000GBtest 0.000GB> db.dropDatabase()db.dropDatabase() (删除数据库,先use dbname,然后执行db.dropDatabase()记删除了当前数据库){ "dropped" : "fyl", "ok" : 1 }> > show dbsshow dbsblog 0.000GBlocal 0.000GBtest 0.000GBMongoDB 插入文档db.COLLECTION_NAME.insert(document)以下文档可以存储在 MongoDB 的 runoob 数据库 的 col集合中:db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100})也可以定义变量形式document=({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100});db.col.insert(document)插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。MongoDB 更新文档update() 方法update() 方法用于更新已存在的文档。语法格式如下:db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> })参数说明:query : update的查询条件,类似sql update查询内where后面的。update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。writeConcern :可选,抛出异常的级别。db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})以上语句只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置 multi 参数为 true。db.col.update({'title':'MongoDB'},{$set:{'title':'MongoDB-fyl'}},{multi:true})WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })db.col.find().pretty()save() 方法save() 方法通过传入的文档来替换已有文档。语法格式如下:db.collection.save( <document>, { writeConcern: <document> })参数说明:document : 文档数据。writeConcern :可选,抛出异常的级别。实例以下实例中我们替换了 _id 为 571991355cd37533a0cf711c 的文档数据:db.col.save({"_id" : ObjectId("571991355cd37533a0cf711c"), "title" : "fyl", "description" : "MongoDB", "by" : "Runoob", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 11})更多实例只更新第一条记录:db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );全部更新:db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );只添加第一条:db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );全部添加加进去:db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );全部更新:db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );只更新第一条记录:db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );MongoDB 删除文档语法remove() 方法的基本语法格式如下所示:db.collection.remove( <query>, <justOne>)如果你的 MongoDB 是 2.6 版本以后的,语法格式如下:db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> })参数说明:query :(可选)删除的文档的条件。justOne : (可选)如果设为 true 或 1,则只删除一个文档。writeConcern :(可选)抛出异常的级别。插入2条记录db.fyl.insert({title: 'MongoDB', description: 'Nosql 数据库', by: '菜鸟', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 99})查询 db.fyl.find().pretty()db.fyl.find().pretty(){ "_id" : ObjectId("571997885cd37533a0cf711e"), "title" : "MongoDB", "description" : "Nosql 数据库", "by" : "菜鸟", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100}{ "_id" : ObjectId("571997915cd37533a0cf711f"), "title" : "MongoDB", "description" : "Nosql 数据库", "by" : "菜鸟", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 99}删除db.fyl.remove({"likes" : 99})WriteResult({ "nRemoved" : 1 })db.fyl.remove({"likes" : 99})db.fyl.find().pretty()db.fyl.find().pretty(){ "_id" : ObjectId("571997885cd37533a0cf711e"), "title" : "MongoDB", "description" : "Nosql 数据库", "by" : "菜鸟", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100}如果你只想删除第一条找到的记录可以设置 justOne 为 1,如下所示:db.fyl.remove({"likes" : 99},{justOne: true})如果你想删除所有数据,可以使用以下方式(类似常规 SQL 的 truncate 命令):>db.col.remove({})>db.col.find()MongoDB 查询文档语法MongoDB 查询数据的语法格式如下:>db.COLLECTION_NAME.find()find() 方法以非结构化的方式来显示所有文档。如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:>db.col.find().pretty()pretty() 方法以格式化的方式来显示所有文档。db.col.find({"likes" : {$ne:100}}).pretty()MongoDB AND 条件MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,及常规 SQL 的 AND 条件。语法格式如下:>db.col.find({key1:value1, key2:value2}).pretty()实例以下实例通过 by 和 likes 键来查询 > db.col.find({"by":"菜鸟教程", "likes" : 100}).pretty()以上实例中类似于 WHERE 语句:WHERE by='菜鸟教程' AND title='MongoDB 教程'MongoDB OR 条件MongoDB OR 条件语句使用了关键字 $or,语法格式如下:>db.col.find( { $or: [ {key1: value1}, {key2:value2} ] }).pretty()db.col.find({$or:[{"by" : "Runoob"},{"likes" : 99}]}).pretty()AND 和 OR 联合使用db.col.find({"likes": {$gt:11}, $or: [{"by": "Runoob"},{"title": "MongoDB-fyl"}]}).pretty()类似where likes>11 and (by=Runoob or title=MongoDB-fyl)db.col.find({likes : {$lt:200,$gt:100}}).pretty()MongoDB Limit与Skip方法db.col.find({},{"title":1,_id:0}).limit(2){ "title" : "PHP 教程" }{ "title" : "Java 教程" }db.col.find({},{"title":1}).limit(2)db.col.find({},{"title":1}).limit(2).skip(1)db.col.find({},{"title":3,_id:0,"by":1,_id:0}).limit(2)MongoDB 索引db.COLLECTION_NAME.ensureIndex({KEY:1})语法中 Key 值为你要创建的索引字段,1为指定按升序创建索引,如果你想按降序来创建索引指定为-1即可。MongoDB 聚合db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)db.col.aggregate([{$group : {_id : "$likes", num_likes : {$sum : 1}}}])以上实例类似sql语句: select likes, count(*) from col group by likesdb.col.aggregate([{$group : {_id : "$likes", num_likes : {$sum : "$likes"}}}])以上实例类似sql语句: select likes, sum(likes) from col group by likes
1 0
- MongoDB-基本命令学习一
- mongodb篇一:mongodb基本命令
- Mongodb学习笔记二(Mongodb基本命令)
- Mongodb学习笔记二(Mongodb基本命令)
- MongoDB的一些基本操作命令(一)
- MongoDB学习6_MongoDB基本管理命令
- NoSQL学习二:MongoDB基本管理命令
- NoSQL学习二:MongoDB基本管理命令
- 【MongoDb学习之路】 MongoDb 基本操作命令
- MongoDB基础学习一 ---- MongoDB的基本使用
- Linux基本命令学习《一》
- Linux基本命令学习一
- MongoDB基本管理命令
- mongodb基本命令
- MongoDB基本管理命令
- MongoDB基本管理命令
- MongoDB 数据基本命令
- MongoDB基本管理命令
- macbookpro 拆卸或安装内存
- 自定制openwrt启动提示no TP-Link header found
- Dubbo-zookeeper的部署和安装
- centOS里升级python
- C# 使用mysql.data.dll,读写mysql数据库
- MongoDB-基本命令学习一
- POJ-1679-The Unique MST(次小生成树)
- C++输入输出运算符重载
- YAML 技术研究
- 【Android动画九章】-LayoutAnimationController
- 【12】-进程和线程定义,概念,区别详解
- 设计模式:门面模式(Facade)
- 安卓中WebView控件
- spring和mybatis整合的dao两种开放方式