NoSQL--mongodb

来源:互联网 发布:常见端口号 编辑:程序博客网 时间:2024/06/08 11:32

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

非结构型数据库。没有行、列的概念。用JSON来存储数据。
集合就相当于“表”,文档就相当于“行”。
这里写图片描述
文档就是JSON,上下文语境中,也是JavaScript范畴,所以我们的数据库也是JS范畴的东西,JS全栈。
这里写图片描述

二: 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').MongoClient3.设置数据库连接地址 和连接的数据库名称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();//关闭数据库})})
1 0
原创粉丝点击