一:NoSQL定义
中文名 非关系型数据库
外文名 NoSQL=Not Only SQL
全 称 Not Only SQL

非结构型数据库。没有行、列的概念。用JSON来存储数据。

集合就相当于“表”,文档就相当于“行”。

mongodb 数据库 导入 导出 mongodb导入sql_mongodb


文档就是JSON,上下文语境中,也是JavaScript范畴,所以我们的数据库也是JS范畴的东西,JS全栈。

mongodb 数据库 导入 导出 mongodb导入sql_数据库_02

二: MongoDb的安装
*使用mongo命令了:

mongo 使用数据库
mongod 开机
mongoimport 导入数据*

在命令行中:
开机命令:mongod   - -dbpath  C:/mongo   
c:/mongo是数据库存放的地址可以是任意目录
再打开一个命令行:
输入 mongo  使用数据库
show dbs   列出所有数据表
use student   使用某个数据表,如果该数据表不存在,则会新建这个数据表
db  查看当前数据表

**
db.dropDatabase();删除数据库
db.collection.drop(); 删除当前集合中数据(集合也被删除了):
**
增加数据

db.student.insert({“name”:”kobe”,”age”:40})
student是当前数据表下的集合,如果这个集合不存在,则新建该集合

把外部的json文件导入数据库:
mongoimport –db yourdatabase –collection yourcollection –drop –file toute dataset.json

–db yourdatabase 导入数据库的名字
–collection yourcollection 导入数据库的集合
–drop 删除原有的数据
–file toute dataset.json 导入文件json的路径
查找数据 find()

db.collection.find();
查找某个集合下的所有元素
db.collection.find({"score.math":90,"socre.chiese":88}) 
查找数学问90切语文为88的学生
db.collection.find({"score.math":{$gt:80}}); 
查找数学成绩大于80的学生信息
db.collection.find({"score.math":{$gte:80}}); 
查找数学成绩大于等于80的学生信息
db.collection.find({"score.math":{$lt:80}}); 
查找数学成绩小于80的学生信息
db.collection.find({"score.math":{$lte:80}}); 
查找数学成绩小于等于80的学生信息
db.collection.find({$or:[{"age":20},{"score.math":80}]}) 
查找年龄为20或者数学分数为80的学生信息
db.collection.find().sort({"age":1,"score.math":-1})
查找所有的数据按年龄的大小升序排列,如果年龄相同,则按照数学成绩降序排列

更改数据

db.collection.update({"name":"james"},{$set:{"age":20}})
把名字为James的人年龄更改为20(只能作用一个)
db.collection.update({},{$set:{"age":20}},{multi:true})
把所有年龄更改为20(multi:true)作用所有
db.collection.update({"james"},{"name":"kobe","age":40})
没有加set关键字 是表示把james文档全部由后面的替换

删除数据
db.collection.remove({“name”:”james”})
删除所有名为James 的文档(是作用于所有的)
db.collection.remove({“name”:”james”},{justOne:true})
删除名为James 的文档的第一个(是作用于一个)
db.collection.remove({})
删除集合 下的所有文档(集合还在不同于db.collection.drop() 集合也删除了)

nodejs连接mongodb 数据库

1.npm install mongodb  
安装mongodb数据库
2.引入数据库
var MongoClient = require('mongodb').MongoClient
3.设置数据库连接地址 和连接的数据库名称
var url  = 'mongodb://localhost:27017/student' //如果没有改数据库,则会自动创建一个
4.连接数据库
MongoClient.connect(url,function(err,db){
if(err){
console.log('数据库连接失败')}
//插入一条数据
db.collection('socre').insertOne({//如果没有该集合则自动创建
"name":"james",
"age":34
},function(err,result){
......
db.close();//关闭数据库
})


})