关闭

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

标签: mongodbmacnodejs
3062人阅读 评论(0) 收藏 举报
分类:

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}) /查找age5的条目

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文件

/**
 * 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()
  })
})

/**
 * 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()
  })
})

/**
 * 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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    文章分类