mongoDB的使用

一、安装

下载好 .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)
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值