Mongo数据库
关系型数据库
MySQL:不支持分布式,查询麻烦,支持tablejoin。database数据库【table表【row】记录行【column】字段 【index】索引】
非关系型数据库
MongoDB数据库命令:
在MongoDB的bin目录下
mongod .exe --dbpath MongoDB的data文件目录
配置环境变量path 将MongoDB下的bin目录写好
测试:cmd下--》mongo 出现版本号说明配置成功。
如何快速启动MongoDB服务:
在硬盘上新建一个文件夹mongo,在文件夹中新建一个批处理文件。打开此文件,写下:mongod .exe --dbpath MongoDB的data文件目录保存 即可 使用时双击。
连接mongoDB:
mongo
查看帮助信息 :mongod -help
mongod -help
创建MongoDB客户端:启动顺序在服务器启动之后。
参考MongoDB的服务器端步骤,区别文件名不同和内容为:mongo.exe 127.0.0.1:27017/admin
在客户端查看help命令:help即可。
增删改及基础命令:
use 【databaseName】
使用、创建数据库
show dbs 查看数据库
##创建数据库之后要存数据才能查看到。
给指定数据库添加集合和记录
1.db.集合名.insert{json}
2.创建bson对象后,db.集合名.insert(对象名)
查看当前集合:show collections
查看当前集合中的数据:db.集合名.find();
插入数据:db.集合名.insert({_id:1,"name":"dog"})
查询集合名第一条数据:db.集合名.findOne();
save插入:
_id存在的情况,则修改,而insert则报错。
更新文档:
db.集合名.update({更新条件},{更新内容})
更新条件也叫查询器;更新内容也叫更新器。
例子:db.persons.update({db.persons.findOne()},{"name":"zhangsan"})
更新操作$set{}:
更新器前加上$set{} ,修改为更新内容
更新内容的key存在则为修改 ;不存在则增加key:value
若不带$set{},更新内容key不存在则覆盖。
删除文档中的数据:
db.集合名.remove({"name":"zhangsan"})//删除张三的记录
MongoDB不支持批量插入,用for循环可以,底层基于js。
for(var i=1;i<=10;i++){
db.persons.insert({"name":i});
}回车就插入成功。
删除数据:
所有:db.集合名.remove();
单个:db.集合名.remove({查询器});
查询:
db.集合名.find({查询条件},{field:[0、1]})##0为不显示;1为显示
例如:db.persons.find({age:{$gte:30,$lte45}},{_id:0,name:1}) //查询年龄在30到45之间的人的姓名。
db.persons.find({country:{$in:["USA","china"]}},{name:1,age:1,country:1,job:0})//查询国籍是美国和中国的姓名、年龄、和国籍。
带条件的where查询:
db.persons.find({"age":23})//查询年龄为23的人的信息
多表查询:
var classes ={id:1,name:"java",students:[{sid:1,name:"zhangsan",age:18},{sid:2,name:"lisi",age:20}]}
db.classes.insert(classes)
查询班级编码为1的第一位学生
1.db.classes.find({"_id":1}).forEach(function (e){printjson(e.students[0].sid)})
2.db.classes.findOne().students
浙公网安备 33010602011771号