突突突突突突

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

MongoDB-NoSql型数据库

1.MongoDB的安装

MongoDB的安装非常简单(傻瓜式安装) 直接去官网下载安装包, 一路确认到底就好了

2.MongoDB的可视化工具

NoSQLBooster for MongoDB

下载安装即可

3.启动MongoDB

mongod --dbpath 数据库目录
默认端口 27017

一些MongoDB的基本命令:

show dbs 查看所有数据库

use 数据库名 使用数据库 如果数据库不存在 会在内存中开辟一块地址用来使用,直到向表中插入数据, 便会向磁盘中写如文件

show tables 查看当前数据库中所有的表

MongoDB 中的名词 与 Mysql对比

mysql mongodb
数据库 数据库
表 collections
列 Field
row documents

4.MongoDB的增删改查

增加:

	db.user.insert({"id": 1, "name": "xj", "age":21})
	
	在3.2版本中 官方推出了insertOne, insertMany方法并且推荐使用(提升了效率)
	db.user.insertMany([{},{}])  # 批量添加
	db.user.insertOne({})		 # 添加一个	

删除:

	db.user.remove({'id': 1})
	
	在3.2版本中 官方退出了deleteOne,deteteMany方法并且推荐使用(提升了效率)
	db.user.deleteOne({'id': 1})    # 删除id为1的用户
	db.user.deleteMany({age: 21}) # 删除所有年龄为21的用户

更新:

	db.user.update({'id': 1}, {$set: {'age': 22}})
	
	在3.2版本中 官方推出了updateOne, updateMany方法并且推荐使用(提升了效率)
	db.user.updateOne({'id': 1}, {$set: {'age': 22}})    # 将id为1的用户的年龄改为22
	db.user.updateMany({'age': 22}, {$set: {'age': 23}}) # 将年龄为22的用户年龄更改为23

查询:

	db.user.find({})  # 查询所有
	db.user.findOne({}) # 查询找到的第一个
	
	# 并列条件查询
	db.user.find({'id': 1, 'age': 21})  # 查询所有id为1 age为21的用户
    # 或条件查询
    db.user.find($or: [{'id': 1},{'age': 21}]) # 查询id为1 或者 age为21的用户
    # 同一个字段的或条件
    db.user.find({'age': {$in: [19,20,21]}}) # 查询所有年龄在19-21之间的用户
 	# 子集检索
    db.user.find({what: {$in: [1,2,3]}})
    # 满足所有条件
    db.user.find({what: {$all:[2,1,3]}})
    # 数学比较符
    $gt: 大于   db.user.find({age:{$gt: 20}}) # 查询所有年龄大于20的用户
    $gte: 大于等于
    $lt: 小于
    $lte: 小于等于
    $eq: 等于 相当于 ':'

5.MongoDB中的修改器:$

$set: 暴力修改

$unset: 暴力删除字段

$inc: 引用增加 在原有值的基础上增加

db.user.updateOne({'id': 1},{$inc: {'age': 1}}) 把id为1的用户的age在原有基础上加1

5.1.array修改器

$push: 增加元素

db.user.updateOne({'id': 1},{$push: {'hobby': 'sing'}})

在id为1的用户的爱好列表中添加一个sing

$pull: 删除元素

db.user.updateOne({'id': 1},{$pull: {'hobby': 'sing'}})

将id为1的用户的爱好列表中的sing删除

$pushAll:批量添加

db.user.updateOne({'id': 1},{$pull: {'hobby': ['sing', 'read']}})

向id为1的用户的爱好列表中添加两项(sing, read)

$pop: 删除最后一条/第一条

db.user.updateOne({'id': 1}, {$pop: {'hobby': 1}}) 删除最后一条

db.user.updateOne({'id': 1}, {$pop: {'hobby': -1}}) 删除第一条

5.2.$ 字符

db.user.updateMany({'hobby': 'sing'}, {$set:{'hobby.$': play}})

将hobby中为sing的位置修改为play

########### $存储符合条件的元素的下标索引 ###########

5.3.object操作

db.user.updateMany({'hobby.time':'三年'},{$set: {'hobby.name':'speak'}})

将hobby对象的time为三年的hobby的name改为speak

Array中的object:

db.user.updateOne({'hobby.time':'三年'},{$set: {'hobby.$.name':'sing'}})

object中的array

db.user.updateOne({"kecheng.class":15},{$set:{"kecheng.class.$":20}})

posted on 2019-01-16 17:09  徐建0304  阅读(191)  评论(0编辑  收藏  举报