zoukankan      html  css  js  c++  java
  • mongodb、node.js 安装

    1、官网下载mongodb-win32-x86_64-2008plus-ssl-3.4.6-signed.msi安装包   

    2、安装到D:databasemongoDB(新建此目录文件夹)

    3、到bin文件夹下,看到mongod.exe命令后,或者把环境变量配置下,不用每次都要在dos里切换到此文件目录下

    4、作为服务进行安装

    --dbpath是指定数据库存放目录,这里要注意有两个 "-"

    将mongodb安装为windows服务非常简单只需要在上面执行的命令行后添加 --install即可
    按照正常的剧情,应该服务就安装成功了,但是很不幸,出现下面提示
    --install has to be used with --logpath
    

     所以合并一句话:

    mongod --dbpath=D:databasemongoDBdb --logpath=D:databasemongoDBloglog.txt -install -serviceName "MongoDB"
    

     这是命令行窗口会打印一些启动信息,最后一行显示为如下信息时表示启动成功了

    2014-04-23T10:38:48.391+0800 [initandlisten] waiting for connections on port 27017
    

     这是在浏览器输入http://localhost:27017/可以看到显示信息为

    It looks like you are trying to access MongoDB over HTTP on the native driver port.
    5、启动服务:
    net start MongoDB
    

     总是报错,100,服务无法启动,后百度,只要把 db下的mongod.lock、storage.bson两个文件夹删除再执行,即可服务启动成功

    6.进入mongodb的shell界面mongo.exe

    7、10.提示命令help

    查看所有的数据库
    show dbs
    切换数据库
    use dbName
     例如:use admin
    这时,你已经可以添加数据了
    db.yourCollectionName.insert(object)
    例如:db.majt.insert({name:majt,age:22})
    因为你添加数据后,mongoDB会自动创建集合存储数据
    当然,你也可以创建集合(即表)
    db.createCollection(name,{size:...,capped:...,max:...})
    查看集合
    show collections
    查看所以集合的名称
    db.getCollectionNames()
    查看所有集合的状态
    db.printCollectionStats()
    删除集合
    db.collectionName.drop()
    例如:db.majt.drop()
    修改集合名称
    db.majt.renameCollection(newName)
    查询指定的集合
    db.getCollection(collectionName)
    例如:db.getCollection("majt")

    数据

    添加数据
    db.collectionName.save(obj)
    例如:db.majt.save({name:"maumoon",age:22})

    删除数据
    db.collectionName.remove(obj)

    修改数据
    db.collectionName.update(obj)
    例如:db.majt.update({name:"maumoon"},{$set:{age:27}},false,true)
    db.majt.update({name:"maumoon"},{$inc:{age:1}},false,true)

    查询数据
    db.collectionName.find(obj)
    例如:db.majt.find({name:"maumoon"})

    查询所有记录
    db.collectionName.find()
    相当于select * from collectionName;
    默认显示20条记录,使用it命令翻页

    统计集合中所有的数据
    db.collectionName.find().count()
    例如:db.majt.find().count()

    排序
    升序db.collectionName.find().sort({age:1})
    例如:db.majt.find().sort({age:1})
    降序db.collectionName.find().sort({age:-1})
    例如:db.majt.find().sort({age:-1})

    查询某条数据之前的数据
    db.collectionName.find().limit(number)
    例如:db.majt.find().limit(2)
    查询某条数据之后的数据
    db.collectionName.find().skip(number)
    例如:db.majt.find().skip(2)
    查询某某之间的数据
    db.collectionName.find().limit(n).skip(m)
    例如:db.majt.find().limit(3).skip(1)

    查询集合的第一条数据
    db.collectionName.findOne()
    例如:db.majt.findOne()

    查询集合中第一条符合条件的数据
    db.collectionName.findOne(obj)
    例如:db.majt.findOne({age:21})

    查询集合中name的值是maumoon的数据
    db.collectionName.findOne(obj)
    例如:db.majt.findOne({name:"maumoon"})
    相当于select * from collectionName where name='maumoon';

    查询集合中name的值包含m的数据
    db.collectionName.findOne(obj)
    例如:db.majt.findOne({name:/m/})
    相当于select * from collectionName where name='%m%';

    查询集合中name的值以m开头的数据
    db.collectionName.findOne(obj)
    例如:db.majt.findOne({name:/^m/})
    相当于select * from collectionName where name='m%';

    查询集合中age的值等于22的数据
    db.collectionName.find(obj)
    例如:db.majt.find({age:22})
    相当于select * from collectionName where age = 22;

    查询集合中age的值大于22的数据
    db.collectionName.find(obj)
    例如:db.majt.find({age:{$gt:22}})
    相当于select * from collectionName where age > 22;

    查询集合中age的值小于22的数据
    db.collectionName.find(obj)
    例如:db.majt.find({age:{$lt:22}})
    相当于select * from collectionName where age < 22;

    查询集合中age的值大于等于22的数据
    db.collectionName.find(obj)
    例如:db.majt.find({age:{$gte:22}})
    相当于select * from collectionName where age>=22;

    查询集合中age的值小于等于22的数据
    db.collectionName.find(obj)
    例如:db.majt.find({age:{$lte:22}})
    相当于select * from collectionName where age<=22;

    查询集合中age的值大于21且小于27的数据
    db.collectionName.find(obj)
    例如:db.majt.find({age:{$lt:27,$gt:21}})

    or
    db.collectionName.find({$or:[{age:22},{age:21}]})
    例如:db.majt.find({$or:[{age:22},{age:21}]})
    相当于select * from collectionName where age=22 or age=25;

    过滤集合中age的值重复的数据
    db.collectionName.distinct("name")
    例如:db.majt.distinct("age")

     MongoVUE安装

      不多数,下载,然后安装,安装完毕后

    将解压zip下“破解补丁”文件夹中的“MongoVUE.exe”文件替换到安装文件目录下(详见天下春暄项目)

    当然这里还有一点问题就是

    关于MongoDBVUE无法显示collection的解决方案

    MongoDB新的存储引擎为wiredTiger ,在这种存储引擎下面,我们用可视化工具MongoVUE是无法看到collection的
    
     
    
    应该更换为mmapv1引擎
    
    1、删除data文件夹,然后重新创建data
    
    2、执行mongod  --storageEngine mmapv1 --dbpath 数据目录
    例如:mongod --storageEngine mmapv1 --dbpath=D:databasemongoDBdb

    建立连接

    基础操作

    创建表

    右键数据库,点击add Collection,如下图:

    
    

    添加数据

    选择刚刚添加的表,右键,选择Insert/Import Documents,如下图:

    查看log日志

    db.Test.insert({
        Name:"张三",
        Age:23,
        Sex:"男",
        Add:"XXX市XXX号XXX街道XXX号"
    });

     安装mongose

    mongoose是mongoDB的一个对象模型工具,是基于node-mongodb-native开发的mongoDB的nodejs驱动,可以在异步的环境下执行。同时它也是针对mongoDB操作的一个对象模型库,封装了mongoDB对文档的一些增删改查等常用方法,让nodejs操作mongoDB数据库变得更加容易。

    npm install mongoose
    

     终于把mongodb的相关装完了,好累呀,哈哈,在安装mongoose 之前,一定先把node.js 与mongodb装上。

    node.js,下载,安装,这里不多数,

    express是在Node.js的http的基础上实现的,相比http模块,封装更多更适用于web服务器场景的功能

    windows下安装express
    
    在你的windows上已经安装了node.js的基础上再安装express
    
    第一部分:安装express 
    
    第一步:执行 npm install -g express-generator 
    
    note:必须安装这个,不然创建express项目的时候会提示express命令没有找到
    
    第二步:执行 npm install -g express
    
    第三步:执行 express -V
    
    note:'V'是大写的,如果express安装成功会显示版本号
    
    第二部分:创建一个express项目 
    
    第一步:执行 express youProjectName
    
    note:youProjectName是你的项目的名称,按照自己的要求选择合适的项目名称
    
    第二步 :进入你的项目:cd youProjectName
    
    第三步:在你的项目的目录下执行 npm install
    
    第四步:启动你的项目,执行 npm start
    
    第三部分:在浏览器中访问你的项目
    
    打开你的浏览器,在地址栏中输入:http://127.0.0.1:3000
    
    然后你会看到:express的欢迎信息 
    
    最后:开启你的express之旅吧,祝君工作愉快! 

     





  • 相关阅读:
    暑假集训Day1 整数划分
    暑假集训day1 水题 乘法最大
    暑假集训Day0
    【不知道什么专题】——历年几道难题的分析。
    开发语言之我见
    选择器IDEA Maven不见了
    js 里函数调用之call
    js 闭包 匿名函数 JavaScript的IIFE(即时执行方法)immediately-invoked function expression
    ideal-check项目
    浏览器内部工作原理
  • 原文地址:https://www.cnblogs.com/chizizhixin/p/7214777.html
Copyright © 2011-2022 走看看