mongodb
2015-11-06 14:15
543 查看
启动服务:mongod--dbpath/data/db
连接:mongo
1、useDATABASE_NAME用于创建数据库。该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库。
2、要检查当前选择的数据库使用命令db
3、如果想检查数据库列表,使用命令showdbs
4、创建的数据库mydb列表中是不存在的。要显示的数据库,需要把它插入至少一个文件。
5、db.dropDatabase()命令是用来删除一个现有的数据库
6、db.createCollection(name,options)是用来创建集合
options可选,内容可以如下
完整实例:db.createCollection("mycol",{capped:true,autoIndexID:true,size:6142800,max:10000})
7、可以检查通过使用创建的集合命令showcollections
8、db.collectionName.drop()是用来从数据库中删除一个集合
9、db.collectionName.insert(document)
例子:
db.mycol.insert({
10、db.collectionName.find()
11、db.collectionName.find().pretty()
例子:
db.mycol.find("likes":{$gt:10},$or:[{"by":"yiibai"},{"title":"MongoDBOverview"}]}).pretty()
等价于sql的wherelikes>10AND(by='yiibai'ORtitle='MongoDBOverview')
12、db.collectionName.update(SELECTIOIN_CRITERIA,UPDATED_DATA)
例:db.mycol.update({'title':'MongoDBOverview'},{$set:{'title':'NewMongoDBTutorial'}})
13、db.collectionName.save({_id:ObjectId(),NEW_DATA})
例:db.mycol.save({"_id":ObjectId(5983548781331adf45ec7),"title":"YiibaiNewTopic","by":"Yiibai"})
14、db.collectionName.remove(DELLETION_CRITTERIA)
15、如果有多个记录且要删除的只有第一条记录db.collectionName.remove(DELETION_CRITERIA,1)
16、MongoDB$gt$lt$lte$gte
db.collectionName.find({likes:{$gte:100}})类似于sql语句Select*fromcolwherelikes>=100;
17、MongoDB$type操作符
如果想获取集合中title为String的数据,你可以使用以下命令db.collectionName.find({"title":{$type:2}})
18、limit方法db.collectionName.find().limit(number)
19、skip方法db.collectionName.find().limit(number).skip(number)
20、sort方法db.collectionName.find().sort({key:1})1为升序-1为降序
21、索引
db.collectionName.ensureIndex({key:1})key值为你要创建的索引字段,1为指定按升序创建索引
22、MongoDB聚合aggregate主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的count(*)
db.collectionName.aggregate(AGGREGATE_OPERATION)
$sum$avg$min$max$push$addToSet$first$last
23、管道
$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档
$match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的标准查询操作
$limit:用来限制MongoDB聚合管道返回的文档数
$skip:在聚合管道中跳过指定数量的文档,并返回余下的文档
$unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值
$group:将集合中的文档分组,可用于统计结果
$sort:将输入文档排序后输出
$geoNear:输出接近某一地理位置的有序文档
引用式
未完待续
http://www.runoob.com/mongodb/mongodb-tutorial.html
连接:mongo
1、useDATABASE_NAME用于创建数据库。该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库。
2、要检查当前选择的数据库使用命令db
3、如果想检查数据库列表,使用命令showdbs
4、创建的数据库mydb列表中是不存在的。要显示的数据库,需要把它插入至少一个文件。
5、db.dropDatabase()命令是用来删除一个现有的数据库
6、db.createCollection(name,options)是用来创建集合
options可选,内容可以如下
capped | Boolean | (可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,会自动覆盖最早的条目,当它达到其最大大小。如果指定true,则需要也指定尺寸参数。 |
autoIndexID | Boolean | (可选)如果为true,自动创建索引_id字段的默认值是false。 |
size | number | (可选)指定最大大小字节封顶集合。如果封顶如果是true,那么你还需要指定这个字段。 |
max | number | (可选)指定封顶集合允许在文件的最大数量。 |
7、可以检查通过使用创建的集合命令showcollections
8、db.collectionName.drop()是用来从数据库中删除一个集合
9、db.collectionName.insert(document)
例子:
db.mycol.insert({
_id:ObjectId(7df78ad8902c), title:'MongoDBOverview', description:'MongoDBisnosqldatabase', by:'tutorialspoint', url:'http://www.yiibai.com', tags:['mongodb','database','NoSQL'], likes:100 })
10、db.collectionName.find()
11、db.collectionName.find().pretty()
例子:
db.mycol.find("likes":{$gt:10},$or:[{"by":"yiibai"},{"title":"MongoDBOverview"}]}).pretty()
等价于sql的wherelikes>10AND(by='yiibai'ORtitle='MongoDBOverview')
12、db.collectionName.update(SELECTIOIN_CRITERIA,UPDATED_DATA)
例:db.mycol.update({'title':'MongoDBOverview'},{$set:{'title':'NewMongoDBTutorial'}})
13、db.collectionName.save({_id:ObjectId(),NEW_DATA})
例:db.mycol.save({"_id":ObjectId(5983548781331adf45ec7),"title":"YiibaiNewTopic","by":"Yiibai"})
14、db.collectionName.remove(DELLETION_CRITTERIA)
15、如果有多个记录且要删除的只有第一条记录db.collectionName.remove(DELETION_CRITERIA,1)
16、MongoDB$gt$lt$lte$gte
db.collectionName.find({likes:{$gte:100}})类似于sql语句Select*fromcolwherelikes>=100;
17、MongoDB$type操作符
如果想获取集合中title为String的数据,你可以使用以下命令db.collectionName.find({"title":{$type:2}})
18、limit方法db.collectionName.find().limit(number)
19、skip方法db.collectionName.find().limit(number).skip(number)
20、sort方法db.collectionName.find().sort({key:1})1为升序-1为降序
21、索引
db.collectionName.ensureIndex({key:1})key值为你要创建的索引字段,1为指定按升序创建索引
22、MongoDB聚合aggregate主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的count(*)
db.collectionName.aggregate(AGGREGATE_OPERATION)
$sum$avg$min$max$push$addToSet$first$last
23、管道
$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档
$match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的标准查询操作
$limit:用来限制MongoDB聚合管道返回的文档数
$skip:在聚合管道中跳过指定数量的文档,并返回余下的文档
$unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值
$group:将集合中的文档分组,可用于统计结果
$sort:将输入文档排序后输出
$geoNear:输出接近某一地理位置的有序文档
db.article.aggregate( {$project:{ title:1, author:1, }} ); 24、MongoDB副本 1、关闭正在运行的MongoDB服务器mongod--port"PORT"--dbpath"YOUR_DB_DATA_PATH"--replSet"REPLICA_SET_INSTANCE_NAME" 2、rs.add(HOST_NAME:PORT) MongoDB中你只能通过主节点将Mongo服务添加到副本集中,判断当前运行的Mongo服务是否为主节点可以使用命令db.isMaster()。MongoDB的副本集与我们常见的主从有所不同,主从在主机宕机后所有服务将停止,而副本集在主机宕机后,副本会接管主节点成为主节点,不会出现宕机的情况 25、MongoDB分片 26、MongoDB数据备份mongodump-hdbhost-ddbname-odbdirectory 27、MongoDB数据恢复mongorestore-hdbhost-ddbname--directoryperdbdbdirectory 28、MongoDB监控mongostat 29、MongoDB关系一对一一对多多对一多对多 嵌入式
{"_id":ObjectId("52ffc33cd85242f436000001"), "contact":"987654321", "dob":"01-01-1991", "name":"TomBenzamin", "address":[ { "building":"22A,IndianaApt", "pincode":123456, "city":"LosAngeles", "state":"California" }, { "building":"170A,AcropolisApt", "pincode":456789, "city":"Chicago", "state":"Illinois" }] }
引用式
{ "_id":ObjectId("52ffc33cd85242f436000001"), "contact":"987654321", "dob":"01-01-1991", "name":"TomBenzamin", "address_ids":[ ObjectId("52ffc4a5d85242602e000000"), ObjectId("52ffc4a5d85242602e000001") ] }
30、
未完待续
相关文章推荐
- mongodb在linux源码安装
- java连接mongodb的一个奇葩问题及奇葩解决方式
- mongodb(安装基本操作)
- 源码讲解 node+mongodb 建站攻略(一期)第二节
- Mongodb 学习笔记
- mongoDB的基本操作
- nodejs+mongodb实现curd 登录 注销 分页等功能的实现过程
- mongodb在死机重启后连接失败
- 【Mongodb】---关联表查询population
- 【Mongodb】---基本命令
- 【Mongodb】---关联表查询population
- 【Mongodb】---基本命令
- mongodb java
- MongoDB副本集搭建和测试
- mongodb linux 64位下载
- mongodb 性能测试
- MongoDB在window和linux的安装
- Postgresql及mongodb下载
- mongodb 性能监控
- Mongodb sharding模式篇