以下是在3.4.1版本中 其他版本可能略有区别,mongo默认登录时在test数据中。

数据库相关操作

登录到数据库

bin/mongo --port 27017

查看数据库列表

show dbs

选择使用哪个数据库 类似mysql中的use,使用use后 创建的table默认会在当前使用的数据中

use taoxs

查看当前使用的数据库使用db或者db.getName()一样的。

db
db.getName()

显示当前数据库下的所有table(集合)

show tables

增删改查

向taoxs_c1集合插入一行数据

>db.taoxs_c1.insert({name:'abc',sex:'1'})
WriteResult({ "nInserted" : 1 })

查询all

> db.taoxs_c1.find()
{ "_id" : ObjectId("5871d9173c7ab1b751cfda4f"), "name" : "abc", "sex" : "1" }

查询指定列

> db.taoxs_c1.find({},{name:true})
{ "_id" : ObjectId("5871d9173c7ab1b751cfda4f"), "name" : "abc" }

查询count

> db.taoxs_c1.find().count()
1

查询限制行数limit

> db.taoxs_c1.find().limit(5)

查询时忽略数据行数 可以用skip和limit配置实现分页的效果

> db.taoxs_c1.find().skip(5)

结果排序 1:升序,-1:降序

> db.taoxs_c1.find().sort({name:1})

修改name 的值为dfg
默认情况下 只会只会修改第一行 ,会覆盖掉其他字段 也就是说在修改name的时候sex字段也会被覆盖掉
update方法签名:function (query, obj, upsert, multi)

> db.taoxs_c1.update({name:'abc'},{$set:{name:'dfg'}})

如果需要多行删除需要指定multi参数为true 如果需要upsert 需要指定upsert参数为true

删除操作

> db.taoxs_c1.remove({name:'dfg'})

mongodb中常用的条件查询类似sql中的where中条件符

字符含义
$lt<
$gt>
$lte<=
$gte>=
$ne!=
$in包含
$nin不包含
$all匹配所有
$exists属性是否存在
$size属性值size判断