mongodbnode.js 安装

Posted zhuanzhuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodbnode.js 安装相关的知识,希望对你有一定的参考价值。

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

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

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

4、作为服务进行安装

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

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

 所以合并一句话:

mongod --dbpath=D:\\database\\mongoDB\\db --logpath=D:\\database\\mongoDB\\log\\log.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:\\database\\mongoDB\\db

 

 

 

建立连接

基础操作

创建表

右键数据库,点击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之旅吧,祝君工作愉快! 

 

 

 





以上是关于mongodbnode.js 安装的主要内容,如果未能解决你的问题,请参考以下文章

带有承诺的 MongoDB 查询不执行 if 语句(MongoDB node.js 驱动程序)

在 Mongoose (mongodb node.js) 中,如何更新现有值并插入缺失值,而不删除未指定的值?

??? MongoDB ??? Node.js ????????? Mongoose ??

Node.js 和 MongoDB:保存集合还是每次都抓取它们?

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

Mongoose 报错代码 (node:10256)(node:13604)(node:13604) DeprecationWarning: Mongoose: findOneAndUpdate()