使用MongoDB前,必须首先在MongoDB中创建 Database 和 Collection。Database不是物理存储单位,Collection为物理存储单位,Collection相当于关系型数据库的Table,Collection里的每一条数据为一个文档。每个collection都有自己的数据文件和index文件,这些文件以 .wt 结尾。
打开mongo\bin目录下mongo.exe。
以下为基本的操作:
1.显示数据库列表 show dbs
2.切换数据库 use database_name (如果数据库不存在,则创建数据库,否则切换到指定数据库。)
3.查看当前连接的数据库 db
4.隐式创建集合:
第一次向Collection插入数据时,如果Collection已经存在于Database中,那么MongoDB直接向Collection中插入数据,否则MongoDB会自动创建Collection。
db.collection_name.insert({"key":"Value"})
查看存储数据的文件夹,发现多了两个.wt文件,一个用于存储数据,一个用于存储index。
5显式创建集合 db.createCollection("collection_name")
6.显示当前数据库中的集合 show collections
7.删除集合 db.collection_name.drop()
8.删除当前数据库 db.dropDatabase() 慎重操作!
9.查询集合中的所有数据 db.collection_name.find()
10.根据条件查询集合中的数据 db.collection_name.find({"key":"value"})
11.指定需要返回的键,如本例中我只想返回name的值。可以通过find的第二个参数来指定想要的键。
默认情况下“_id”总是被返回,可以通过如下方式剔除。
12.条件查询。
$lt、$lte、$gt、$gte分别对应< 、<= 、> 、>=。
例如:查询test集合里age大于等于4,小于等于6的数据。
13.OR查询。
两种方式:(1). $in 用来查询一个键的多个值 ;(2). $or 可以在多个键中查询任意的给定值。
例如:查询age为3或者7的数据。
$nin与$in相对,返回与数组中所有条件都不匹配的数据。
查询age为5或者name为小白的数据。
$or与$in组合。例如查询age为4或者6,或者name为小红的数据。
14. $not 可以用在任何条件之上,用来查找与给定模式不匹配的文档。与正则表达式联合使用时很有用。