您的位置:首页 > 数据库 > Mongodb

MAC系统下安装mongodb 配合nodeJS简单使用mongodb

2017-03-02 18:32 671 查看
MongoDB 下载地址: https://www.mongodb.com/download-center?jmp=nav#community

nodejs下载地址: https://nodejs.org/en/

本文重点记录在mac下安装mongodb及配合nodeJS实现简单增删改查操作

本机环境:系统=>MAC OS 10.12

  nodeJS=>6.9.0

    Mongodb=>3.2.5

1. 下载nodejs,一路next 安装完成后,在终端输入 node -v 有显示版本号就代表安装成功,其他异常情况本文不作介绍;



2. 下载Mongodb后,将Mongodb-3.2.5.tar.gz 复制到 /usr/local 路径下解压得到mongodb这个文件夹,(下图中的是我自己改了名字删掉了版本号)

*默认情况下在Finder中是看不到 /usr 这个目录的(终端用得溜的请略过),可以打开Finder后按shift + command +G 输入 /usr/local后回车便能看到这个隐藏的目录了



3. 上图中展示的就是我的本机的目录结构了,在/usr/local/mongodb/bin下就是mongodb的执行文件了

4. 然后在根目录下新建 data 文件夹,里面再建一个db文件夹,就是上图中那个 usr文件夹上面的 那个data文件夹 ,里面是用来存放数据库的,

5. 终端切换到/usr/local/mongodb/bin目录下,



6. 执行 ./mongod 启动服务端



7.  显示等候客户端连接的界面就代表启动成功了,如果不成功就检查下你/data/db文件夹位置对不对,不行就重新删掉建一个,

8.  打开浏览器,输入localhost:27017,会出现“

It looks like you are trying to access MongoDB over HTTP on the native driver port.

” 这样一行文字,然后可以重新打开一个终端 同样是 /usr/local/mongodb/bin这个目录 输入 ./mongo 命令,即可连接上



9. 出现上图的提示就代表连接成功了 ,终端上会一直显示一个 ‘>’ 符号,此时就可以输入mongodb的sql命令 了(这里我列出一些基本的):

*byc 是我建的一个集合名字

show dbs //显示数据库

use byc //使用某个数据库
db.byc.insert({‘name’:’byc’}) //插入一条记录
db.byc.find() //查找所有记录
db.byc.findone() //查找一条记录
db.dropDatabase() //删除数据库
db.byc.drop //删除指定集合
show collections //显示所有集合
db.createColletion(‘byc’) //创建集合
db.byc.save({}) //插入记录

db.byc.update({‘_id’,1},{$set:{name:’byc’,age:20}})
db.byc.remove({}) //删除所有集合
for(var i=1;i<=10;i++){db.byc.insert({"name":"king"+i,"age":i})} //循环插入10条记录
 db.byc.find().pretty() //格式化显示查询结果
db.byc.find().count() //查询数据条数
db.byc.find({"age":5}) /查找age是5的条目
db.byc.find({“age”:{$gt:5}}) //查找age大于5的条目
db.byc.find({"age":{$gt:5}}).sort({"age":1}) //查找age大于5的条目且升序排列
db.byc.find({"age":{$gt:5}}).sort({"age":1}) //查找age大于5的条目且升序排列
db.byc.find({"age":{$gt:5}}).sort({"age”:-1}) //查找age大于5的条目且降序排列
10. 可以安装个图形化工具进行连接操作,我这里用了一个mongobooster 的软件,界面就是下图这样子的



11. 数据库这边搞定了,接下来就使用nodeJS连接进行操作

新建一个目录使用npm安装mongodb模块 


12. 在目录下新建JS文件

[javascript] view
plain copy

 





/** 

 * Created by byc on 2016/11/26. 

 * 插入数据 

 */  

var MongoClient = require('mongodb').MongoClient;  

var DB_CONN_STR = 'mongodb://localhost:27017/byc'  

var insertData = function (db, callback) {  

  var collection = db.collection('users')  

  var data = [{"name":"king11","age":21},{"name":"king20","age":22}]  

  collection.insert(data, function (err, result) {  

    if(err){  

      console.log(err)  

      return  

    }  

    callback(result)  

  })  

}  

MongoClient.connect(DB_CONN_STR, function (err, db) {  

  if(err){  

    console.log("ERROR"+err)  

    return  

  }  

  insertData(db, function (result) {  

    console.log(result)  

    db.close()  

  })  

})  

[javascript] view
plain copy

 





/** 

 * Created by byc on 2016/11/26. 

 * 更新数据 

 */  

var MongoClient = require('mongodb').MongoClient;  

var DB_CONN_STR = 'mongodb://localhost:27017/byc'  

var updateData = function (db, callback) {  

  var collection = db.collection('users')  

  var whereStr = {"name":""}  

  var setStr = {"name":"kingUpdate","age":21}  

  collection.update(whereStr, setStr, function (err, result) {  

    if(err){  

      console.log(err)  

      return  

    }  

    callback(result)  

  })  

}  

MongoClient.connect(DB_CONN_STR, function (err, db) {  

  if(err){  

    console.log("ERROR"+err)  

    return  

  }  

  updateData(db, function (result) {  

    console.log(result)  

    db.close()  

  })  

})  

[javascript] view
plain copy

 





/** 

 * Created by byc on 2016/11/26. 

 * 删除数据 

 */  

var MongoClient = require('mongodb').MongoClient;  

var DB_CONN_STR = 'mongodb://localhost:27017/byc'  

var delData = function (db, callback) {  

  var collection = db.collection('users')  

  var whereStr = {"name":"king0"}  

  collection.remove(whereStr, function (err, result) {  

    if(err){  

      console.log(err)  

      return  

    }  

    callback(result)  

  })  

}  

MongoClient.connect(DB_CONN_STR, function (err, db) {  

  if(err){  

    console.log("ERROR"+err)  

    return  

  }  

  delData(db, function (result) {  

    console.log(result)  

    db.close()  

  })  

})  

可以直接在webStorm右键你的JS文件选择 run**.js ,就可以用webstorm自带的命令行工具运行了



************ ************ ************ ************ ************ ************ ************ ************ ************ ************ ************ 

附上mongodb 文档地址:https://docs.mongodb.com/manual/tutorial/query-documents/



顶1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐