一、安装
下载好 .mis 文件以后双击安装
安装好以后
在Data 文件下新建一个 db 文件夹和一个log的文件夹 log文件夹下新建 mongoDB.log
cmd 进入mongodb的bin 目录
执行 mongod -dbpath “C:\Program Files\mongoDB\Server\3.2\data\db”
成功以后 访问http://localhost:27017/ 出现文字
将mongoDB 添加到windows 的服务中
mongod -dbpath “C:\Program Files\mongoDB\Server\3.2\data\db” -logpath “C:\Program Files\mongoDB\Server\3.2\log\mongodb.log” -serviceName “MongoDB” -install
记得一定要把log文件夹中mongoDB.log文件删掉 在再命令行中运行
可以双击查看这个日志
在服务中查看是否有这个服务
二、mongo命令
显示mongo中的数据库 show dbs
创建数据库 use DATABASE
use 命令
MongoDB use DATABASE_NAME 用于创建数据库。该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库。
语法:
use DATABASE 语句的基本语法如下:
use DATABASE_NAME
示例:
如果想创建一个数据库名称 , 那么 use DATABASE 语句如下:
use mydb
switched to db mydb
要检查当前选择的数据库使用命令 db
db
mydb
如果想检查数据库列表,使用命令show dbs.
show dbs
local 0.78125GB
test 0.23012GB
创建的数据库mydb 列表中是不存在的。要显示的数据库,需要把它插入至少一个文件。
db.movie.insert({“name”:”tutorials yiibai”})
show dbs
local 0.78125GB
mydb 0.23012GB
test 0.23012GB
insert操作 db.user.insert({‘name’:’赵文娟’,’password’:’123’}) user是一个集合
find 操作 db.user.find({‘name’:’赵文娟’})
查找出来的结果
{
“_id” : ObjectId(“57761a889a0be53cf8be0fb0”),
“name” : “赵文娟”,
“password” : “123”
}
db.user.find() 查找所有的
“_id”: 这个字段是数据库默认给我们加的GUID,目的就是保证数据的唯一性。
update操作 db.user.update({‘name’:’赵文娟’},{‘name’:’牛志星’})
update方法的第一个参数为“查找的条件”,第二个参数为“更新的值”
remove操作
remove中如果不带参数将删除所有数据,呵呵,很危险的操作,在mongodb中是一个不可撤回的操作,三思而后行
详细的find操作
日常开发中,我们玩查询,玩的最多的也就是二类:
①: >, >=, <, <=, !=, =。
②:And,OR,In,NotIn
这些操作在mongodb里面都封装好了,下面就一一介绍:
<1>”
gt","
gte”, “
lt","
lte”, “
ne”,“没有特殊关键字”,这些跟上面是一一对应的,举几个例子。db.user.find(‘age′:$gt:12)查找到的年龄大于12岁<2>没有关键字“
or”
db.user.find({$or:[{‘age’:12},{‘age’:13}]})
三、node操作mongoDB
/*var ObjectID = require('mongodb').ObjectID;
var host='127.0.0.1',
port=27017,
dbName="testConnection",
server=new mongodb.Server(host,port,{}),
client=new mongodb.Db('testConnection',server,{safe:false});
client.open(function(err){
if(err) throw err;
client.collection('user',function(err,collection){
if(err) throw err;
console.log("连接成功");
//将数据插入mongoDB中 每次会新建_id
/!*collection.insert(/!*{
"title":"I like cake",
"body":"It is quite good"
},*!/{},function(err,documents){
if(err) throw err;
console.log(documents);
})*!/
//更新一个id文档的内容
/!*var _id=new ObjectID("577675f67514ba9c0d869a7a");
collection.update(
{_id:_id},{$set:{'cc':'aaa',"title":"new1 title"}},{safe:true},function(err){if(err){throw err}}
)*!/
//搜索文档中的内容
/!*collection.find(
{'title':'new1 title'}
).toArray(function(err,results){
if(err) throw err;
console.log(results)
})*!/
//删除指定的文档
var _id=new ObjectID("5776761840301bd414148869");
collection.remove({_id:_id},{safe:true},function(err){if(err) throw err})
})
})*/
四、使用Mongoose来操作mongodb
mongoose的模型提供了一个到MOngoDB集合的接口,以及一些实用的功能,比如schema的层次结构,中间件以及数据校验。schema层次结构可以让一个模型和其他模型相关联。mongoose的校验支持让你可以在schema层面决定什么样子的数据是可以被接受的。
安装mongoose
npm install mongoose
var mongoose = require('mongoose')
, Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/mydb');
//1.定义schema,也就是传统意义的表结构
var BlogSchema = new Schema({
name:String
});
//2.定义model
mongoose.model("Blog", BlogSchema);
//mongoose.model("Blog", BlogSchema,"BLOG"); model名,绑定的schema,db collection名
//3.日常操作
var Blog = mongoose.model("Blog"); //获得model实例
var blog1 = new Blog();
blog1.name='juanjuan';
//添加一个新文档
blog1.save(function(err) {
if (err) {
console.log('save failed');
}
console.log('save success');
});
//搜索文档内的内容
Blog.find(function(err,docs){
for(var i=0;i<docs.length;i++){
console.log(docs[i].name+docs[i]._id);
}})
//更新固定id文档中内容
/*Blog.update({
_id:'577723aa789275342f88d2fb',
name:'cc'
},function(err){console.log(err)}
);*/
//删除所有文档
/*Blog.remove(function(){
console.log(1221)
});*/
//删除特定文档文档
Blog.remove({_id:'57772b7b72c4f31c225b9e9b212'},function(){
console.log(1221)
})