node.js(三)MongoDB数据库搭建

MongoDB数据库搭建

MongoDB的基本使用

特点

  • 文档数据库
  • no SQL数据库
  • 一个文档的数据类型可能不同
  • 使用BSON存储数据(二进制的jason)
  • 支持相对丰富的查询数据库
  • 支持索引
  • 副本集
    • 提升数据库的读取能力
  • 分片
  • 无模式
  • 部署简单方便
  • 安全性问题

使用

服务器的启动

mongod --dbpath=文件夹地址 --port=27017

–fork 守护进程的方式启动 要加上–sylog将日志存储在系统日志

终结mongoDB

mongod --shutdown

设置日志位置

--lopath=xx/xx/mongd(xx).log

连接端口

mongo 127.0.0.1:27017

使用数据库

use 数据库名
即使没有数据库,没有行表,但如果use 数据库名也可以使用

use 数据库后,所有操作已经切换到对数据库的操作

添加数据

(前提已经use)

db.users(集合名).insert({"username":"bamboosir920"});

查看数据库

(前提已经use了一个数据库)

show collections

查看当前集合所有数据

db.users.find()

每个数据都有一个id作为索引

查看数据数量

db.users.find().cout()

查询指定id的数据

db.users.find({"_id":xxxxxxxxxxxxxxxxxxx})

更新语句

将前面的数据修改为后面的数据
一般情况下只修改遇到的第一个满足要求的数据
db.users.updata({"username":"zoe"},{$set:{"group":"write"}});

如果在后面设置true,就可以全部修改

db.users.updata({"username":"zoe"},{$set:{"group":"write"}},{multi:true});

根据id修改值

没有指定,其他值会被删除

db.users.save({"_id:ObjectId("xxxxxxxxx"),"group":"reporter"})

删除值

默认false,删除所有满足条件的数据

db.users.remove({"xxxx":"xxxxxx"})

删除第一个满足条件的值

db.users.remove({"xxxx":"xxxxxx"},true)

条件为空,删除所有

只删除数据,文档还在

db.users.remove({})

删除文档和索引

db.users.drop()

使用Mongoose操作MongoDB

介绍

将node.js的对象与mongoDB的文档数据进行连接

安装

cd目录下 安装

npm install mongoose

此文件下都可以直接使用mongoose

安装在此文件下的node_modules下

var mongoose =require("mongoose");
var uri='mongodb://username:password@hostname:port/databasename';

moogoose.connect(url);

Model Scheme

建立文档和对象的对象

建立为模式化存储

//建立格式
var BookSchema=new mongoose.Scheme({
    name:String,
    author:String,
    publishTime:Date
})
//model命名第一个最好大写
mongoose.model('Book',BookSchema)

插入

var mongoose=requir("mongoose");
//选择model
require('./model.js');

var Book=mongoose.model('Book');

var book=new Book({
    name:"booksas",
    author:"bamboosir920",
    publishTime: new Data()
});

//bokk.name="" 也可以
//检验是否保存成功
book.save(function(err){
    console.log('save:',err?'false':'success');
})

查询文档

可查询所有满足条件的文档

var mongoose=require('mongoose');

require('./model.js');

var book =mongoose.model('Book');

book.find({},function(err,docs){
    if(err){
        console.log('err:',err);
        return;
    }
    consolse.log('result:',docs);
});

返回第一个满足条件的文件
.findOne()

删除文档

var mongoose=require('mongoose');

require('./model.js');

var book =mongoose.model('Book');

book.findOne({author:'jim'},function(err,doc){
    if(err){
        console.log('err:',err);
        return;
    }
    consolse.log('result:',doc);
    if(doc)
    {
      doc.remove();  
    }
});

条件

联合条件

或$or

$or:[{author:'jane'},{author:''john}]

与$and

猜你喜欢

转载自blog.csdn.net/InkBamboo920/article/details/97247257