1,客户端启动和服务端开启命令:
mongod 服务端
–dbpath
–port
–logpath
mongo 客户端
–port
–host
2,基础命令
show dbs
show collections
show tables
如何创建库?
1,use 数据库名
2,添加一条数据
db.collectionName.insert(文档)
db.createCollection(name)
删除数据库:db.dropDatabase()
删除集合:db.collectionName.drop()
3,增删改查 CRUD
(1)insert–插入
db.collectionName.insert([文档])
插入多条文档:
db.collectionName.insert([{文档1},{文档2},{文档3},…])
(2)查找–find
db.collectionName.find({查询表达式},{field1:1/0})–1显示,0不显示
查询表达式:
- {key:value}
< $lt
> $gt
<= $lte
>= $gte
!= $ne
{$nin:{age:[1,2,3]}} 查询不在数组中的数据
{$in:{age:[12,13,14]} 查询在数组中的数据
{$all:{hobby:['a','b','c']}} 满足数组中的所有内容的条件
{$mod:{age:[5,1]}
{$and:[{},{},{}]}
{$or:[{},{},{}]}
{$nor:[{},{},{}]}
(3)聚合
db.collectionName.aggregate([{管道1},{管道2},{管道3}])
{KaTeX parse error: Expected 'EOF', got '}' at position 14: match:{查询表达式}}̲
{grop:{_id:‘KaTeX parse error: Expected '}', got 'EOF' at end of input: …g/sum/max/min:{avg/sum/sum/sum/max/min:1/′min:1/'min:1/′field’}}}
(4)游标
将查询结果赋值给一个变量,这个标量就是游标,游标相当于python中迭代器,我们可以从中一个一个取出查询结果。
var cursor=db.collectionName.find()
cursor.hasNext()–是否有下一个(如果游标到结尾,才为false)
cursor.next()–获取下一个。
cursor.forEach(回调函数)
作用:回调函数接收游标中每一个查询结果,并做批量操作。
(5)hash
1,什么是hash。
Hash–>散列,通过关于键值(key)的函数,将数据映射到内存存储中一个位置来访问。这个过程就是hash
2,特点–>1,正向快速–>2,逆向困难–>3,输入敏感–>4,冲突避免
(3)作用:
给数据打指纹---指纹就是唯一标识--->去除重复
密码存储