mongoDB基本操作(一)
2017-12-05 12:40
197 查看
创建数据库或切换数据库:user dbname
删除数据库:进入数据库 -> db.dropDatabase()
插入文档:db.collection_name.insert(document)
db.col.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'w3cschool',
url: 'http://www.w3cschool.cn',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
查看文档:db.collection_name.find() 或者 db.collection_name.find().pretty()
更新文档:db.collection_name.update(criteria, objNew, upsert, multi )
criteria : update的查询条件,类似sql update查询内where后面的。
objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
具体博客参考:http://blog.csdn.net/sunnyyoona/article/details/52420210
删除文档:db.collection_name.remove()
清空文档:db.col.remove({})
查询文档:db.collection_name.find()
查询可使用的各种条件参考:https://www.w3cschool.cn/mongodb/mongodb-query.html
条件操作符:
(>) 大于 - $gt db.collection_name.find({key : {$gt : value}})
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
$type操作符:
Double 1
String 2
Object 3
Array 4
Binary data 5
Undefined 6 已废弃。
Object id 7
Boolean 8
Date 9
Null 10
Regular Expression 11
JavaScript 13
Symbol 14
JavaScript (with scope) 15
32-bit integer 16
Timestamp 17
64-bit integer 18
Min key 255 Query with -1.
Max key 127
db.collection_name.find({key : {$type : value}})
limit + skip:
db.collection_name.find().limit(NUMBER).skip(NUMBER)
排序:
db.collection_name.find().sort({KEY:1})
其中 1 为升序排列,而-1是用于降序排列。
索引:
db.collection_name.ensureIndex({KEY:1})
Key 值为你要创建的索引字段,1为指定按升序创建索引,如果你想按降序来创建索引指定为-1即可。
符合索引 ex:db.mycol.ensureIndex({"title":1,"description":-1})
ensureIndex()更多使用http://blog.csdn.net/u013725455/article/details/52037897
聚合:(类似于count(*))
db.collection_name.aggregate(AGGREGATE_OPERATION)
ex : db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
删除数据库:进入数据库 -> db.dropDatabase()
插入文档:db.collection_name.insert(document)
db.col.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'w3cschool',
url: 'http://www.w3cschool.cn',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
查看文档:db.collection_name.find() 或者 db.collection_name.find().pretty()
更新文档:db.collection_name.update(criteria, objNew, upsert, multi )
criteria : update的查询条件,类似sql update查询内where后面的。
objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
具体博客参考:http://blog.csdn.net/sunnyyoona/article/details/52420210
删除文档:db.collection_name.remove()
清空文档:db.col.remove({})
查询文档:db.collection_name.find()
查询可使用的各种条件参考:https://www.w3cschool.cn/mongodb/mongodb-query.html
条件操作符:
(>) 大于 - $gt db.collection_name.find({key : {$gt : value}})
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
$type操作符:
Double 1
String 2
Object 3
Array 4
Binary data 5
Undefined 6 已废弃。
Object id 7
Boolean 8
Date 9
Null 10
Regular Expression 11
JavaScript 13
Symbol 14
JavaScript (with scope) 15
32-bit integer 16
Timestamp 17
64-bit integer 18
Min key 255 Query with -1.
Max key 127
db.collection_name.find({key : {$type : value}})
limit + skip:
db.collection_name.find().limit(NUMBER).skip(NUMBER)
排序:
db.collection_name.find().sort({KEY:1})
其中 1 为升序排列,而-1是用于降序排列。
索引:
db.collection_name.ensureIndex({KEY:1})
Key 值为你要创建的索引字段,1为指定按升序创建索引,如果你想按降序来创建索引指定为-1即可。
符合索引 ex:db.mycol.ensureIndex({"title":1,"description":-1})
ensureIndex()更多使用http://blog.csdn.net/u013725455/article/details/52037897
聚合:(类似于count(*))
db.collection_name.aggregate(AGGREGATE_OPERATION)
ex : db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
表达式 | 描述 | 实例 |
---|---|---|
$sum | 计算总和。 | db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}]) |
$avg | 计算平均值 | db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$avg : "$likes"}}}]) |
$min | 获取集合中所有文档对应值得最小值。 | db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$min : "$likes"}}}]) |
$max | 获取集合中所有文档对应值得最大值。 | db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$max : "$likes"}}}]) |
$push | 在结果文档中插入值到一个数组中。 | db.mycol.aggregate([{$group : {_id : "$by_user", url : {$push: "$url"}}}]) |
$addToSet | 在结果文档中插入值到一个数组中,但不创建副本。 | db.mycol.aggregate([{$group : {_id : "$by_user", url : {$addToSet : "$url"}}}]) |
$first | 根据资源文档的排序获取第一个文档数据。 | db.mycol.aggregate([{$group : {_id : "$by_user", first_url : {$first : "$url"}}}]) |
$last | 根据资源文档的排序获取最后一个文档数据 | db.mycol.aggregate([{$group : {_id : "$by_user", last_url : {$last : "$url"}}}]) |
相关文章推荐
- [Database] MongoDB (1) 基本连接、操作、查询
- MongoDB 3.X JAVA基本操作
- mongodb-搭建服务器和基本操作
- mongodb-搭建服务器和基本操作
- MongoDB基本操作
- MongoDB基本操作增删改查(3)
- Nosql :MongoDB一些基本操作<一>
- MongoDB入门---数据库&&&集合的基本操作
- Nosql :MongoDB一些基本操作<二>
- mongodb基本操作及存储图片显示方案
- MongoDB 基本操作
- mongodb基本操作
- MongoDB的一些基本操作命令(一)
- MongoDB 学习二(shell 基本操作)
- MongoDB的学习(二)-基本的操作
- MongoDB 基本操作语法
- mongodb的一些基本操作以及c++驱动的简单方法
- mongodb基本操作
- MongoDB学习—(2)shell的基本操作
- mongoDB基本操作(二)-(CRUD)