在MongoDB数据库中的增、删、查、改,以及选择数据库查询数据库等基本操作。

首页进入数据库管理工具:WINdows+R -> CMD

输入:mongo


 

这里已经进入到MongoDB的管理工具,connecting to: test表示已经链接到名为test的库。这是一个默认的数据库,为什么一进来就会有一个默认的数据库呢,这是因为在MongoDB中不像其他关系型数据库一样需要先行创建库,再使用!

MongoDB创建数据库非常简单,直接使用use即可。

如现在需要创建一个名为:temp的数据库:


 

出现这个表示创建成功,下一步查看现有的数据库。


 

当我们查看是并没有我们刚刚创建的temp数据库,也没有系统默认的test数据库。这是因为MongoDB使用use创建的数据库,但不是真正意义上的创建,而是告诉系统现在需要在某个数据库中进行操作。当我们对该数据库中的数据进行修改时才会真实的创建出相应的数据库。(包括增、删、改)

查看当前使用的数据库:

输入db即可:


表示目录使用的数据库为temp

 

1、增

命令:db.users.insert({‘name’:’zslin.com’, ‘age’:28});


 

注:

1、users : 集合名称,就你mysql中的数据表

2、insert :插入命名

3、{“name”:”zslin.com”, “age”:28} 被插入的数据,不需要在添加之前指定字段。

4、插入数据后,MongoDB会自动加上“_id”作为该数据的唯一标识。

5、我们的字段名最好不要以“_”开头,因为以下划线开头的有些字段为保留字段。

 

这里再使用:show dbs;即可看到有temp这个集合(数据表)


 

2、查

插入数据库肯定是想看看有没有插入成功:

·查看所有数据

命令:db.users.find()


 

注:

1、users:集合名称,即要查询的数据集合

2、find:查询数据的函数,如果不加参数则表示查询该集合中的所有数据

 

·条件查询

在mysql关系型数据库中常见的条件查询有:

>, >=, <, <=, =, !=, and, or, in, not in等

而在MongoDB中却没有这些符号,但取而代之的是其他的一些符号:

无符号的:

db.users.find({‘age’:3, ‘name’:’zslin.com’}):类似and

 

有符号的:

$gt:大于(greater than的简写)

db.users.find({‘age’:{$gt:3}}) : 查询age大于3的数据

$gte: 大于等于(greater than and equals的简写)

db.users.find({‘age’:{$gte:3}}):查询age大于等于3的数据

$lt:小于(less than的简写)

db.users.find({‘age’:{$lt:37}}):查询age小于37的数据

$lte:小于等于(less than and equals的简写)

db.users.find({‘age’:{$lte:37}}):查询age小于等于37的数据

$ne:不等于(not equals的简写)

db.users.find({‘age’:{$ne:3}}):查询age不等于3的数据

$or:或者

db.users.find({$or:[{‘age’:3}, {‘name’:’zslin.com’}]}) 查age等于3或者name等于zslin.com的数据

$in:包含在内

db.users.find({‘age’:${$in:[3, 37]}}):查age在3和37这两个值范围内的数据

$nin:不包含在内

db.users.find({‘age’:{$nin:[3, 34, 38]}}):查age不在3、34、38这几个值内的数据

 

$where:函数形式

db.users.find({$where:function() {return this.age == 3}}):查询age等于3的数据

正则表达式:以上面这些查询基本能满足我们大部份的需求了,但也会有一些很特殊的查询,则需要用到正则表达式。

db.users.find({‘name’:/^z/, ‘name’:/m$/}):查询name以z开头且以m结尾的数据。