资讯专栏INFORMATION COLUMN

mongodb数据库的使用

刘玉平 / 1557人阅读

最近在学习node,所以听说node和mongodb更配哦。。所以我就来学习mongodb了

一、mongodb的开启和关闭 1. 查找mongod是否可用

which mongod

2. 启动mongodb

指定path 和log日志
mongod --dbpath /data2/db --port=27017 --fork /data2/db/log/mongod.log

3. 关闭数据库

mongod --shutdown

二、mongodb的操作 1. 连接服务器

mongod 115.29.137.34:27017

2. 使用数据库

(不存在的数据库也可以使用,插入数据之后会自动保存)
use mydb

3. 权限登陆

db.auth("username","password")

4. 展示数据库列表

show dbs

5. 插入数据

(类似于mysql的表)
db.users.insert({"name":"xiaomo"})
db.users.insert({"name":"xiaoming","age":25})
db.users.insert({"name":"xiaoming","age":24,"sex":"女"})

6. 查询集合

(前提是use了一个数据库)
有一个System.indexes 是索引
show collections

7. 不带条件查询

db.users.find()

8. 带条件查询

(参数是一个对象)
db.users.find({"name":"xiaomo"})

9. 更新数据

(有三个参数,1:查询条件,2:更新的内容 3:更新的配置)
db.users.update({"name":"xiaomo",{$set:{"name:"xm}}) 修改满足条件的第一条数据
db.users.update({"name":"xiaomo",{$set:{"name:"xm}},{multi:true}) 修改所有满足条件的数据

10. 保存数据

(只有一个参数,必须要传id,后面是要修改的数据)
db.users.save({"id":"objectId(574710a97a3afd63cde56a49)","age":30})

11. 删除数据

(1:条件 2 是否删除所有符合条件的)
db.users.remove({"name":"xiaomoing"},true)

12. 删除集合

db.users.drop()

三、使用mongoose操作数据库 1. 模块的介绍

连接mongdodb的驱动

2. 配置和链接

npm install --save mongoose

  var mongoose = require("mongoose");
  
  var uri = "mongodb://xiaomo:xiaomo@115.29.137.34:27017/admin";
  mongoose.connect(uri);
3. Model 和Shema
 // model.js
var Schema = mongoose.Schema,
    ObjectId = Schema.ObjectId;

var BlogPost = new Schema({
    author    : ObjectId,
    title     : String,
    body      : String,
    date      : Date
});

//Model
mongoose.model("blog",Schema);

var Comment = new Schema({
  name: { type: String, default: "hahaha" },
  age: { type: Number, min: 18, index: true },
  bio: { type: String, match: /[a-z]/ },
  date: { type: Date, default: Date.now }
});

// a setter
Comment.path("name").set(function (v) {
  return capitalize(v);
});

// middleware
Comment.pre("save", function (next) {
  notify(this.get("email"));
  next();
});
4. 创建文档
  //insert.js
  var mongoose = require("mongoose");
  require("./model.js"); //执行
  var Blog = mongoose.model("blog");
  var blog = new Blog({
      name:"xiaomo",
      age:25,
      bio:"don"t know",
      date:new Date
    });

  book.save(function(err){
      console.log("save status:"+err);
    });
5. 删除文档
  var mongoose = require("mongoose");
  require("./model.js");
  var Blog = mongoose.model("blog");
  Blog.findOne({"name":"xiaomo"},function(err,doc){
    if(err){
    console.log(err)
    return;
    }
    if(doc){
    doc.reomove();
  }
    })
6. 简单查询
  var mongoose = require("mongoose");
  require("./model.js");
  var Blog = mongoose.model("blog");
  Blog.find({},function(err,doc){
    if(err){
    console.log(err)
    return;
    }
    console.log("result",doc)
    })

第一个满足条件的结果

  var mongoose = require("mongoose");
  require("./model.js");
  var Blog = mongoose.model("blog");
  Blog.findOne({"name":"xiaomo"},function(err,doc){
    if(err){
    console.log(err)
    return;
    }
    console.log("result",doc)
    })
7. 条件语句
 // condation.js
  var mongoose = require("mongoose");
  require("./model.js");
  var Blog = mongoose.model("blog");
  //名字是xiaomo或者xiaoming 可以用$or和$and
  var condation = {
    $or  $and:[
    {"name":"xiaomo"},
    {"name":"xiaoming"}
    ]
  }
  Blog.find(condation,function(err,doc){
    if(err){
    console.log(err)
    return;
    }
    console.log("result",doc)
    })
三、在项目中使用mongoose 1. 生成项目

koa koatest -e koatest

2. 安装依赖

cd koatest && npm install

3. 安装mongoose

npm install --save mongoose

4. 创建模型
  // models/users.server.model.js
  var mongoose = require("mongoose");
  var UserSchema = new mongoose.Schema({
      uid:Number,
      username:String,
      createTime:Date,
      lastLogin:Date
    })
  module.exports = mongoose.model("User",UserSchema);
5. 创建配置文件
  // config/config.js
  module.exports={
    mongodb:"mongodb://xiaomo:xiaomo@115.29.137.34:27017/admin"
  }
  //config/mongoose.js
  var mongoose = require("mongoose");
  var config = require("./config.js");

  module.exports=function(){
    var db = mongoose.connect(config.mongodb);
    require("./../models/users.server.model.js");
    return db;
  }
6. 操作mongdodb 代码
  //routers/users.js
  var router = require("koa-router")();
  var mongoose = require("mongoose");
  var User = mongoose.model("User");
  router.get("/", function *(next) {
      //add
      var user = new User({
        uid:
        })
      this.body = yield User.find({});
  });
  module.exports = router;

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79698.html

相关文章

  • (翻译) MongoDB(11) 在 SUSE 上安装MongoDB社区版

    摘要:概述使用这个教程在和使用软件包安装社区版虽然发行版包含自己的软件包官方的社区版包通常是最新的平台支持本安装教程仅支持位操作系统详细信息请参阅平台支持软件包在自己的存储库中提供官方支持软件包此存储库包含以下软件包软件名简介一个元软件包将自动 概述 使用这个教程在 SUSE Linux 11 和 12 使用 .rpm 软件包安装 MongoDB 社区版. 虽然 SUSE 发行版包含自己的 ...

    zone 评论0 收藏0
  • (翻译) MongoDB(17) 在 Windows 上安装MongoDB社区版

    摘要:概述使用本教程在系统上安装社区版平台支持自版本开始不支持请使用更新版本的来使用更新版本的重要如果你正在运行任何版本的或者请安装修复程序以解决上的内存映射文件的问题要求社区版需要或者更高版本安装程序包含所有其它软件依赖项将自动更新使用文件安装 概述 使用本教程在 Windows 系统上安装 MongoDB 社区版. 平台支持: 自2.2版本开始, MongoDB 不支持 Windo...

    shaonbean 评论0 收藏0
  • (翻译) MongoDB(14) 在 Debian 上安装MongoDB社区版

    摘要:概述使用这个教程在或者使用软件包安装社区版虽然包含自己的软件包但官方的社区版包通常是最新的本安装教程仅支持位操作系统详细信息请参阅平台支持这些软件包可以与其它版本一起工作。 概述 使用这个教程在 Debian 7 Wheezy 或者 Debian 8 Jessie 使用 .deb 软件包安装 MongoDB 社区版. 虽然 Debian 包含自己的 MongoDB 软件包, 但官方的 ...

    gaara 评论0 收藏0
  • MongoDB 资源、库、工具、应用程序精选列表中文版

    摘要:推荐阅读资源库工具应用程序精选列表中文版有哪些鲜为人知,但是很有意思的网站一份攻城狮笔记每天搜集上优秀的项目一些有趣的民间故事超好用的谷歌浏览器油猴插件合集目录资源文档文章图书会谈教程更多库工具管理数据部署桌面发展监控应用资源文档介绍文档教 推荐阅读 MongoDB 资源、库、工具、应用程序精选列表中文版 有哪些鲜为人知,但是很有意思的网站? 一份攻城狮笔记 每天搜集 Github ...

    e10101 评论0 收藏0
  • (翻译) MongoDB(13) 在 Ubuntu 上安装MongoDB社区版

    摘要:概述使用这个教程在使用软件包安装社区版包含自己的软件包但官方的社区版包通常是最新的平台支持本安装教程仅提供位长期支持版本例如,等等这些软件包可能将和其它版本一起工作然后它们并不支持软件包在自己的存储库中提供官方支持软件包此存储库包含以下软件 概述 使用这个教程在 LTS Ubuntu Linux 使用 .deb 软件包安装 MongoDB 社区版. Ubuntu 包含自己的 Mong...

    wuyumin 评论0 收藏0
  • (翻译) MongoDB(12) 在 Amazon Linux 上安装MongoDB社区版

    摘要:概述使用这个教程在使用软件包安装社区版本安装教程仅支持位操作系统详细信息请参阅平台支持软件包在自己的存储库中提供官方支持软件包此存储库包含以下软件包软件名简介一个元软件包将自动安装下面列出的四个组件包包含守护程序和关联配置和初始化脚本 概述 使用这个教程在 Amazon Linux 使用 .rpm 软件包安装 MongoDB 社区版. 本安装教程仅支持64位操作系统. 详细信息请参阅平...

    gself 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<