mongo的学习笔记一 xshell操作

基本操作
1.切换数据库  use  数据库   实际现在没有创建数据库,只有在数据库里面保存集合之后才会创建(延迟创建)

2 show dbs  查看数据库  

2.创建一个集合(集合相当与表的概念) db.createCollections("集合名称") (不正常,正常请看第五点) 创建集合后数据库才会创建   区分大小写  

3.很多时候如果你按照以上的代码形式操作进行会觉得你不正常,因为正常都是直接向里面直接保存一个数据

4.db.集合名.find() 查找集合里的数据  相当于 select * form 表

5.db.集合.insert() 往集合里添加数据,数据格式为json 如果集合不存在 自己创建  (正常的操作) 

6.show collections   查看数据库里的集合

7.db.集合名称。find(若干条件)  查看**表,**集合数据的语法

8.集合就相当于表的概念,表的结构一旦定义必须按照定义的要求进行内容的编写,但是mongo不一样,他可以所以随意扩充,集合里的内容可以随意去定义,完全不用考虑其他结构,mongo里没有查看集合结构的操作。

9. db.集合名.fingOne()  查看单独的一个文旦数据  

10.db.集合名.remove({"id":"id值"})  删除

11.db.集合名.update({"id":"id值"},数据)  数据结构须一致

12.db.集合名称.drop()   删除集合

13.db.dropDatabase()    删除数据库(删除当前所在的数据库)

添加
1.db.集合.insert([{},{}])   保存多个数据使用数组 []

2.for(var x=0;x<10000;x++)

{
    db.集合.insert({数据});
}   保存10000条数据   保存数据很多时,列表不会全部列出  只会列出部分数据


查询 (Mongo查询支持很到位,包含逻辑判断,关系运算,数组运算,正则运算)

1.db.集合.find({查询条件},{"_id":0(显示字段,0为不显示,1为显示)})  对于这种查询为投影查询意义不大,我们可以使用pretty() 函数进行,进行漂亮的显示 

2.db.集合.find({查询条件},{"_id":0(显示字段,0为不显示,1为显示)}).pretty() 使用

关系查询操作  大于($gt),小于($lt),大于等于($gte)小于等于 ($lte) 不等于($ne)
   范例年龄大于19岁的学生
3.db.students.find({"age":{"$gt":19}}).pretty()  语法


逻辑运算 (于($and)的类型  或($or)的类型 非($not)的类型)
范例 查询年龄在19-20岁的学生信息
4.db.students.find({"age":{"$gte":19,"$lte":20}}).pretty()  语法
范例 查询年龄不是19c岁的学生信息
5.db.students.find({"age":{"$ne":19}}).pretty()  语法
范例(或($or)的类型) 查询年龄大于19岁,或者成绩大于90分的学生
6.db.students.find({"$or":[{"age":{"#gt":19}},{"score":{"$gt":90}}]}).pretty()  语法
范例 (或的求反操作)
  db.students.find({"$nor":[{"age":{"#gt":19}},{"score":{"$gt":90}}]}).pretty()  语法


求模  使用$mod  语法 {"$mod":{数字,余数}}
范围查询  只要是数据库 就存在有 $in(在范围中) $nin(不在范围中)
8. db.students.find({"name":{"$in":["张三","李四","王五"]}}).pretty()  语法


数组查询   (mongo里面是支持数组保存的,一旦支持数组保存,就需要针对数组的数据进行匹配)
可以使用这几个运算符:($all,$size,$slice,$elemMatch)
9.db.students.find({"course":{"$all":["语文","数学"]}}).pretty()  语法  {"name":"张三","course":["语文","数学","政治"]}
  也可以定义数组索引查询
db.students.find({"course.1":"数学"}).pretty()  语法
查询只参加两门课程的学生 使用$size 来进行控制数量
db.students.find({"course":{"$size":2}}).pretty()  语法


10.嵌套集合运算$elemMatch 


11.判断某个字段时候存在 $exists 设置为true为存在  false为不存在




12.条件过滤 $where


正则查询  (模糊查询)
13.基础语法{key:正则标记}
完整语法{key:{"$regex":正则标记,"$options",选项}}
  |- 对于options主要设置正则信息查询的标记:
   |-"i":忽略字母大小写
   |-"m"多行查找
   |-"x"空白字符串处了被转义的活在字符类中意外的完全被忽略
   |-"s"匹配所有的字符,包括换行内容
  |-需要注意的是,如果  直接使用(Javascript)那么只能够使用i和m 而x和s必须使用$regex
db.students.find({"name":/谷/}).pretty()  语法


14.查询排序  $sort()  1是升序 -1是降序  自然排序 $natural


15.数据分页显示 $skip(表示跨过多少数据)  $limit(取出多少数据)



16.数据更新操作  $save() $update()
|-upsert 如果要更新的数据不存在,则增加一条新的(true为增加,false为不增加)
|-multi   表示是否只更新第一行记录,如果是false只更新第一天,如果是true全部更新      


17删除数据 remove() 


猜你喜欢

转载自blog.csdn.net/weixin_40813139/article/details/79046746