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()