mongodb数据库基本操作:

'''
在安装的mongodb数据服务的bin目录下进行以下操作:
	1、mongod.exe --dbpath='目录'#会在该目录下面生成一个mogodb数据库
	2、mongo.exe #连接数据库
一、操作数据库:
	1、创建数据库:
		use 自定义数据库名
		说明:在使用了use之后如果查看所有数据库,并不会显示自己新创建的数据库。
		需要向里面插入数据以后才可以显示。
	2、显示所有数据库:
		show dbs
	3、查看当前正在使用的数据库:
		db.getName()
	4、断开连接:
		exit
	5、查看命令帮助
		help
	6、删除数据库:
		db.dropDatabase()
二、操作集合:
	1、查看所有集合
		show collections
	2、创建集合:
		a、
			db.createCollection('集合名')
		b、
			db.集合名.insert(文档)
			文档格式:{name:"sunck",age:18,genger:1}
	3、删除集合:
		db.集合名.drop()
三、操作文档:
	1、插入文档:
		a、使用insert()插入文档:
			db.集合名.insert(文档)
		b、save插入文档:
			db.集合名.save(文档)
			说明:如果不指定_id字段save与insert方法类似,如果指定_id就会只更新该字段。
	2、文档更新:
		a、update更新
			db.集合名.update(
				<query>,
				<update>,
				{
					upset:<boolean>,
					multi:<boolean>,
					writeConcern:<document>
				}
			)
		参数说明:
			query:update的查询条件,正常写的时候没有<>,类似于sql里面的update语句内的where后面的内容
			
			update:updte的对象和一些更新的操作符,($set,$inc)等,$set直接更新,$inc在原有的基础上累加后更新,

			upset:是可选的,如果不存在update的记录,是否当新数据插入进来,true为输入,False为不插入,默认为False
			
			multi:可选,mongodb默认是false,只更新一个找到的第一条记录,如果这个参数为true,就按照条件查找出来的数据全部更新。
			
			writeConcern:是可选的,抛出异常的级别,
		b、save更新
		语法:
				db.集合名.save(
					<document>,
					{
						writeConcern:<document>
					}
				)
			参数说明:
				document:文档数据
				writeConcern:是可选的,抛出异常的级别。
	3、文档删除
		说明:在执行remove()函数前,先执行fin()命令来判断执行的条件是否存在是一个良好的习惯。
		语法:db.集合名.remove(
				query,
				{
				justOne:<boolean>
				writeConcern:<document>
				}
			)
		参数说明:
			query:可选,删除文档的条件
			justOne:可选,如果为true或者1,只删除一个文档
	
	4、文档查询
		1、find()方法:
			查询机和下面所有的数据
			语法:db.集合名.find()
		2、find()方法查询指定
		语法:db.集合名.find(
				query,
				{
					<key>:1,
					<key>:1
				}
			)
		参数说明:
			query:查询条件
			key:要显示的字段,1表示显示
		示例:

		3、pretty()以格式化的方式显示文档
			示例:db.student.find().pretty()

		4、findOne()方法查询匹配结果的第一条数据。
			示例:db.student.findOne({fender:0})
	5、查询条件操作符
		作用:用于比较两个表达式并从mongodb集合中获取数据
		1、大于      -$gt
			语法:db.集合名.find({<key>:{$gt:<value>}})

		2、大于等于  -$gte
			语法:db.集合名.find({<key>:{$gte:<value>}})

		3、小于      -$lt
			语法:db.集合名.find({<key>:{$lt:<value>}})

		4、小于等于  -$lte
			语法:db.集合名.find({<key>:{$lte:<value>}})

		5、大于等于和小于等于 -$gte 和 $lte
			语法:db.集合名.find({<key>:{$gte:<value>,$lte:<value>}})
		6、等于      -:
			语法:db.集合名.find({<key>:<value>})

		7、使用_id进行查询
			语法:
			示例:db.student.find({"_id":ObjectId("id值")})

		8、使用某个字段结果集的数据条数
			语法:db.student.find().count()

		9、查询摸个字段的值当中时候包含一个值
			语法:
			示例:db.student.find({name:/ile/})

		10、查询某个字段的值是否以另一个值开头
			语法:
			示例:db.student.find({name:/^ile/})

	6、条件查询and 和 or
		a、and 条件的使用
			语法:db.集合名.find({条件一,条件二,条件n})
			示例:db.student.find({gender:0,age:{$gt:16}})

		b、or  条件的使用
			语法:db.集合名.find(
			{
				$or:[条件一,条件二,...条件N]
			}
			)
			示例:db.student.find({$or:[{age:17},{age:{$gte:20}}]})


		c、and 和or 联合使用
			语法:
				db.集合名.find({条件1,条件2,$or:[{条件3},{条件4}]})

	7、limit、skip
		1、limit():读取指定数量的数据记录
			db.student.find().limit(2)#看两条数据

		2、skip():跳过指定的数量的数据
			db.student.find().skip(5)#跳过三条

		3、skip与limit联合使用
			通常用这种方式来实现分页公能
			示例:db.student.find().skip(3).limit(3)

	8、排序
		语法:db.集合名.find().sort({<key>:1|-1})
		需求:
		示例:
			db.student.find().sort({age:1})升序排列

		说明:1表示升序,-1表示降序
			
			


'''