安装/运行

  • 查看当前mongodb运行情况: pgrep mongo;
  • 在当前路径下建立数据库: mkdir -p data/db
  • 按照一个数据库路径运行mongod --dbpath ./data/db
  • 运行数据库之后,使用mongo; 然后可以进行数据库/表单操作

基本命令

  • 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。
  • show dbs:显示数据库列表
  • show collections:显示当前数据库中的集合
  • show users:显示用户
  • use <db name>:切换当前数据库
  • db.foo.find(): foo指的是当前数据库下,一个叫foo的集合(表);对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
  • db.foo.find( { a : 1 } ):对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1

常用命令

help

  • db.help()
  • db.foo.help()
  • db.foo.find().help()
  • rs.help()

数据表

  • 到某个数据库之后执行db.createCollection("Account")或者db.createCollection("Test",{capped:true, size:10000})

    • capped:true,表示该集合的结构不能被修改;

    • size:在建表之初就指定一定的空间大小,接下来的插入操作会不断地按顺序APPEND数据在这个预分配好空间的文件中,如果已经超出空间大小,则回到文件头覆盖原来的数据继续插入。这种结构保证了插入和查询的高效性,它不允许删除单个记录,更新的也有限制:不能超过原有记录的大小。这种表效率很高,它适用于一些暂时保存数据的场合,比如网站中登录用户的session信息,又比如一些程序的监控日志,都是属于过了一定的时间就可以被覆盖的数据。
  • 修改数据表名: db.Account.renameCollection("Account1")

数据库

  • 查看当前使用的数据库: db.getName()或者db
  • 删除当前使用数据库: db.dropDatabase();
  • 切换数据库: use <otherdb>
  • 创建数据库: 先use <newdb>,然后db.createCollection('user'), 这样就创建来数据库和一个数据表
  • 查看数据库结构: db.status()
  • 查看数据库版本: db.version()

数据库其他操作

  • 查看当前db的链接机器地址: db.getMongo();
  • 从指定主机上克隆数据库: db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库
  • 从指定的机器上复制指定数据库数据到某个数据库: db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中
  • 修复当前数据库: db.repairDatabase();
  • 显示当前db所有聚集索引的状态: db.printCollectionStats();

数据表增/改/删

  • 添加 db.users.save({name: ‘test’, age: 23});
  • 避免空值: 例子:`db.users.save({email: {type: String, trim: true, unique: true, sparse: true}),`
  • 修改:
    • db.users.update({age: 23}, {$set: {name: 'changeName'}}, false, true);相当于:update users set name = ‘changeName’ where age = 25;
    • db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true);相当于:update users set age = age + 50 where name = ‘Lisi’;
    • db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true);相当于:update users set age = age + 50, name = ‘hoho’ where name = ‘Lisi’;
  • 删除: db.users.remove({age: 132});

简介

  • 面向文档的数据库
  • 以文档模型取代行的概念
  • 不再有预定义模式,即文档的键和值不再是固定的类型和大小
  • 支持存在时间有限的集合,适用于将在某个时刻过期的数据,如会话
  • 不具备一些关系型数据库的普遍功能,如连接和复杂的多行任务

mongodb学习01介绍的更多相关文章

  1. Android Testing学习01 介绍 测试测什么 测试的类型

    Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activ ...

  2. Redis学习01——介绍与搭建环境

    Redis学习01介绍与搭建环境一简介二yum配置已经配置了的可以跳过三安装gcc四安装redis1 上传Redis到linux中2 解压到usrlocal下3 编译redis4 安装redis5 拷 ...

  3. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  4. Mongodb学习笔记一(Mongodb环境配置)

    Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...

  5. MongoDB学习记录

    一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...

  6. MongoDB学习:(一)MongoDB安装

    MongoDB学习:(一)MongoDB安装 MongoDB介绍:     直接百科了: MongoDB安装: 1:下载安装: MongoDB安装:https://www.mongodb.com/do ...

  7. MongoDB学习(四)客户端工具备份数据库

    在上一篇MongoDB学习(三)中讲解了如何在服务器端进行数据的导入导出与备份恢复,本篇介绍下如何利用客户端工具来进行远程服务器的数据备份到本地. 以客户端工具MongoVUE为例来进行讲解: 1.首 ...

  8. ThinkPhp学习01

    原文:ThinkPhp学习01 一.ThinkPHP的介绍           MVC  M - Model 模型                工作:负责数据的操作  V - View  视图(模板 ...

  9. MongoDB学习之--安全和认证

    MongoDB学习之--安全和认证 本文主要介绍两部分内容,Mongodb的安全检查配置以及安全认证操作: 虽然确保系统安全是系统管理员的重要工作,但是作为程序员了解其机制也是大有好处的,毕竟不是每个 ...

随机推荐

  1. WCF服务与WCF数据服务的区别

    问: Hi, I am newbie to wcf programming and a little bit confused between WCF Service and WCF Data  Se ...

  2. 【XLL API 函数】xlGetBinaryName

    用于返回由 xlDefineBinaryName 函数定义的名称数据句柄.定义的名称和工作簿一起保存,我们可以在任意时间访问这个名称. 原型 Excel12(xlGetBinaryName, LPXL ...

  3. August 22nd 2016 Week 35th Monday

    Have you ever given any thought to your future? 你有没有为将来打算过呢? Have you ever given any thought to your ...

  4. Android xml text 预览属性

    只在 AS 中生效 xmlns:tools="http://schemas.android.com/tools" tools:text="I am a title&quo ...

  5. core

    http://blog.csdn.net/xiaoxiaoniaoer1/article/details/7740820 1.core文件的生成开关和大小限制--------------------- ...

  6. poj1703(各种姿势)

    题目链接:http://poj.org/problem?id=1703 题意:有n个人分别属于两个团伙,接下来m组形如 ch, x, y的数据,ch为"D"表示 x, y属于不同的 ...

  7. 《Thinking in Java》十四章类型信息_习题解

    1~10    Page 318 练习1. 在ToyTest.java中,将Toy的默认构造器注释掉,并解释发生的现象. 书中代码如下(略有改动): package org.cc.foo_008; p ...

  8. AJAX 三级联动

    新的封装类 <?php class DBDA { public $host="localhost";//服务器地址 public $uid="root"; ...

  9. ***PHP Notice: Undefined index: ..问题的解决方法

    首先,这个不是错误,是warning.所以如果服务器不能改,每个变量使用前应当先定义. 方法1:服务器配置修改     修改php.ini配置文件,error_reporting = E_ALL &a ...

  10. mxnet环境搭建随记

    安装mxnet还是遇到不少麻烦事,现在简单记一下,挖个坑,后续详细补充,打算写一下我的mxnet探索之旅. 更新: 具体安装mxnet,cuda,opencv过程已经补坑——点击进入 不知道为什么,在 ...