使用use先创建一个数据库
use mydb
使用命令 show dbs
来检查数据库列表。
1.创建集合(表)
db.createCollection(name, options)
参数 | 类型 | 描述 |
---|---|---|
name | 字符串 | 所要创建的集合名字 |
options | 文档 | 可选。指定有关内存大小及索引的选项 |
在 MongoDB 中,不需要创建集合。当插入一些文档时,MongoDB 会自动创建集合。
db.users.insert({ username:'admin' ,
password:'admin',
register_time : new Date(),
})
2.查询数据db.users.find()
非结构化
db.users.find().pretty()
-
如果直接用find()那么是全部显示,只想显示一部分
db.COLLECTION_NAME.find({},{KEY:1})
例如db.users.find({},{"username":1,_id:0})
,此处_id为0是因为默认_id一直显示,为0则隐藏 在数据量大的情况下pretty()结构化输出看起来更直观 -
限制查询记录
limit()
例如db.users.find({},{"username":1,_id:0}).limit(1)
显示第一个符合记录 -
skip() 方法 除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数 例如
db.users.find({},{"username":1,_id:0}).limit(3).skip(2)
注意一点skip起始值为0 -
记录排序 sort() 方法
sort() 方法可以通过一些参数来指定要进行排序的字段,并使用 1 和 -1 来指定排序方式,其中 1 表示升序,而 -1 表示降序,默认升序
格式:db.COLLECTION_NAME.find().sort({KEY:1})
例如:db.users.find({},{"username":1,_id:0}).sort({"name":-1})
3.更新
db.users.update(
{ "username": "admin" },
{ "$set": { "password": "123456" } }
)
如果要增添用户生日
db.users.update(
{ "username": "admin" },
{ "$set": { "birthday": "199x-xx-xx" } }
)
此时会多一条birthday键
"$set"也可以修改键的类型
删除键则可用"$unset"
4.插入
db.users.insert({
username:'test' ,
password:'test',
register_time : new Date()
})
5.删除(里面是条件,如果什么都不写将会删除整个集合)
db.users.remove({'username':'admin'})
6.save()方法
db.users.save({
"_id" : ObjectId(5983548781331adf45ec7)
username:'admin' ,
password:'admin',
register_time : new Date(),
})
用这个新的"_id" 来 替换原有文档
1.null:null表示空值或者不存在的字段
{"x" : null}
2.boolean型: ture,false
3.数值: shell默认使用64位浮点数值型
{"x" : 3.14}
或
{"x" : 3}
整型: {"x" : NumberInt("3")}和{"x" : Number("3")}
4.字符串
{"x" : "foobar"}
5.日期
{"x" : new Date()}
6.正则表达式
{"x" : /foobar/i}
7.数组
{"x" : ["a","b","c"]}
8.内嵌文档
{"x" : {"foo" : "bar"}}
9.对象id
{"x" : ObjectId()}
10.二进制数据
11.代码: 查询和文档中可以包括任意JavaScript代码
{"x" : function() {}}