由于在dos 下操作mongodb 很不方便 所以我推荐大家使用mongodb 的可视化工具robomongo  这个是robomongo的下载网址

https://robomongo.org/download

不过关于dos 下的操作 还是希望大家了解一下

在操作前需要启动mongodb数据库服务

1.首先打开dos窗口,然后选择路径到你的安装路径下的bin目录(我的路径是的D:mongo\mongodb\bin)

2.然后输入启动命令(D:mongo\data\db 是我的数据库文件的目录前边两个 – 不能少)  mongod --dbpath D:mongo\data\db

3.回车dos界面出现 12701 的字样说明服务启动成功了如图所示

服务启动成功后 就需要操作了。这时候我们需要再打开一个dos窗口(服务启动的窗口不要关闭)找到安装路径(我的安装路径 为 D:mongo\mongodb\bin) 执行  mongo 此时第一个dos窗口(也就是启动服务的窗口会显示)

#1 <1 connectionnow open> 字样说明此时链接数据库成功

操作数据库的dos 窗口就可以继续进行操作 ,例如查看所有数据库结果如图

也可以创建一个bat文件,不用每次都要敲击这些命令。创建***.bat,在里面输入

start mongod --dppath="F:\MongoDB\Server\3.2\db"

就可以了,双击它就相当于在DOS下输入命令。

我们在启动MySQL的时候是通过net start mysql和net stop mysql来开启和关闭的,那么是否能使用net start MongoDB和net stop MongoDB来启动和关闭呢?是可以的

首先,目录logs和mongod.cfg,如

mongod.cfg里面为:

logpath=F:\MongoDB\Server\3.2\logs\mongod.log
dbpath=F:\MongoDB\Server\3.2\db

然后在DOS命令里输入:

sc.exe create MongoDB binPath= "\"F:\MongoDB\Server\3.2\bin\mongod.exe\" --service --config= \"F:\MongoDB\Server\3.2\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

回车就会看到

[sc] Create Service 成功

这个时候就可以使用net start MongoDB和net stop MongoDB来启动跟关闭mongo服务了。

下边是

基本操作:显示所有数据库:show dbs  用数据库:use xxx

创建集合 db.createCollection("集合名称",{capped:true,size:100000})

基本步骤:

新建数据库(db) :use student

新建集合(Collection) db.createCollection("集合名称");

可以新建文档:(document) document={"1":"2","3":"4"}

查看所有数据库:show dbs;

查看当前数据库下的所有集合:db.printCollectionStats();

三.插入操作

可以先定义一个文档document ,后将文档插入到集合中。或者直接将输入插入到集合中。

db.集合名称.insert(已定义的文档);

db.集合名称.insert(数据);

四.查询:

db.集合名称.find();显示文档

db.集合名称.find(where);

查询姓名为字符类型的数据记录

:$type操作符是基于BSON类型来检索集合中匹配的结果。

db.集合名称.find({"name":{$type:2}});

Double 1

String 2

Object 3

Array 4

Binary data 5

Object id 7

Boolean 8

Date 9

Null 10

Regular expression 11

JavaScript code 13

Symbol 14

JavaScript code with scope 15

32-bit integer 16

Timestamp 17

64-bit integer 18

Min key 255

Max key 127

db.集合名称.find({条件}).limit(10); // 满足条件的,取10条

五.更新操作

db.集合名称.update(where,set,未找到插入新的为true,更新多条为true);

db.集合名称.update({"id":"1"},{"$set":{"name":"yuan","sex":"男"}},false,true);

更新添加字段:$push

---db.student.update({"sno":2},{$push:{"classes":"san"}})

六.删除

db.集合名称.remove(where);

db.集合名称.remove();删除全部记录

db.集合名称.drop();删除全部文档(document)

七.操作符

(>) 大于 - $gt ---db.student.find({"sno":{"$gt":2}})

(<) 小于 - $lt---db.student.find({"sno":{"$lt":2}})

(>=) 大于等于 - $gte  --示例:db.student.find({"sno":{"$gte":2}});

(<= ) 小于等于 - $lte --

八.一些操作

db.集合名称.Count(where); ---显示满足条件的条数---db.student.count({"sno":{$type:1}});

db.集合名称.distinct("key"); ---得到所有key的value(去掉重复的)---db.student.distinct("sno");

九.管理

查看collection数据的大小

db.集合名称.dataSize()

#查看colleciont状态

db.集合名称.stats()

#查询所有索引的大小

db.集合名称.totalIndexSize()

.与SQL对照

MongoDB

MySQL

查询全部

movies.find(new Document())

SELECT * FROM movies

条件查询

movies.Find(new Document { { "title", "Hello Esr" } });

SELECT * FROM movies WHERE title= 'foobar'

查询数量

movies.Find(new Document { { "title", "测试2" } }).Documents.Count();

SELECT COUNT(*) FROM movies WHERE `title` = 'foobar'

数量范围查询

1, movies.Find(new Document().Add("$where", new Code("this.num > 50")));

2, movies.Find(new Document().Add("num",  new Document().Add("$gt",50)));
($gt : > ; $gte : >= ; $lt : < ; $lte : <= ; $ne : !=)

3,movies.Find("this.num > 50");

4,movies.Find(new Document().Add("$where",new Code("function(x){ return this.num > 50};")));

select * from movies where num > 50

分页查询

movies.Find(new Document()).Skip(10).Limit(20);

SELECT * FROM movies  limit 10,20

查询排序语句

movies.Find(new Document()).Sort(new Document() { { "num", -1 } });

SELECT * FROM movies ORDER BY num DESC

查询指定字段

movies.Find(new Document().Add("num", new Document().Add("$gt", 50)), 10, 0, new Document() { { "title", 1 } });

select title from movies where num > 50

插入语句

movies.Insert(new Document() { { "title", "测试" }, { "resuleData", DateTime.Now } });

INSERT INOT movies (`title`, `reauleDate`) values ('foobar',25)

删除语句

movies.Remove(new Document() { { "title", "Hello Esr" } });

DELETE * FROM movies

更新语句

movies.Update(new Document() { { "title", "测试2" } }
             , new Document() { { "title", "测试11111" } });

UPDATE movies SET `title` = ‘测试1111’ WHERE `title` = '测试1111'

Linq查询

(from item in db.GetCollection("movies").Linq()
                       where ((string)item["title"]).StartsWith("Esr")
                       select item);

select * from movies where title like ‘%Esr’

mongodb 的服务启动和基本操作命令的更多相关文章

  1. 1.MongoDB之服务启动

    1. 编写docker-compose.yaml文件 version: "3" services: mongo: image: mongo:4.2.6 ports: - 27017 ...

  2. 安装mongodb后服务启动不了的问题

    安装mongodb后,在命令行进入mongoDB安装目录执行如下: mongod --dbpath [数据存放的本地路径] 提示如下错误: ERROR: dbpath (数据存放的本地路径) does ...

  3. MongoDB做为一项windows服务启动

    MongoDB做为一项windows服务启动 Windows版本安装 MongoDB的官方下载站是http://www.mongodb.org/downloads,可以去上面下载最新的对应版本,有32 ...

  4. pm2命令,端口查询,mongodb服务启动,nginx服务启动,n模块的使用,搭建nodejs服务器环境,搭建oracledb服务器环境 linux的环境搭建

    pm2命令 pm2 ls //查询pm2 启动的列表 pm2 start app.js //启动文件 pm2 restart app //重启项目 pm2 logs app //监控项目执行日志打印 ...

  5. MongoDB注册Windows服务启动

    下载MongoDB安装到:E:\Work_App\MongoDB 这个目录 安装:E:\Work_App\MongoDB (安装在专门的目录中) 配置: 1.在E:\Work_App\MongoDB\ ...

  6. mongodb配置windows服务启动

    第一步 下载MongoDB http://www.mongodb.org/downloads 第二步 解压到D:\mongodb\目录下,为了命令行的方便,可以把D:\mongodb\bin加到系统环 ...

  7. windows8系统安装MongoDB 2.6.3配置服务启动

    转自:http://winfan.net/655.html 1. 下载mongodb包2. 解压zip至 D:\MongoDB3. 创建目录 D:\MongoDB\data\db4. 创建日志目录 D ...

  8. MongoDB 安装,启动与基本使用

    一.MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式.Mongo使用C++ ...

  9. 《Pro Express.js》学习笔记——Express服务启动常规七步

    Express服务启动常规七步 1.       引用模块 var express=require('express'), compression=require('compression'), bo ...

随机推荐

  1. Spring源码情操陶冶-AbstractApplicationContext#postProcessBeanFactory

    阅读源码有利于陶冶情操,承接前文Spring源码情操陶冶-AbstractApplicationContext#prepareBeanFactory 约定:web.xml中配置的contextClas ...

  2. Java大数据人才应用领域广,就业薪酬高

    互联网创造了大数据应用的规模化环境,大数据应用成功的案例大都是在互联网上发生的, 互联网业务提供了数据,互联网企业开发了处理软件,互联网企业的创新带来了大数据应用 的活跃,没有互联网便没有今天的大数据 ...

  3. 微服务(二)hystrix

    特性 1.延迟和失败容忍 防止级联错误,错误回退,优雅降级.快速失败和恢复 线程和信号量隔离 2.实时监控和配置更改 3.并发 并行执行,请求缓存,自动批处理失败请求 总运行流程 当你发出请求后,hy ...

  4. 暑假集训D11总结

    %dalao 今天某学长来讲一个极其高深的数据结构——线段树(woc哪里高深了),然而并没有时间整理笔记= =,所以明天在扔笔记咯= = 考试 今天考试,一看数据范围,woc暴力分给的真足,然后高高兴 ...

  5. Linux系统C语言socket tcp套接字编程

    1.套接字的地址结构: typedef uint32_t in_addr_t; //32位无符号整数,用于表示网络地址 struct in_addr{ in_addr_t s_addr; //32位 ...

  6. react-router 离开路由前确认

    react路由在做离开前确认时,有两种方法 第一种是我们写的是动态路由,可以做一个简单的离开前确认 path: '/association/administration', component: Ad ...

  7. Jersey实现Restful服务

    jersey 是基于Java的一个轻量级RESTful风格的Web Services框架.以下我基于IDEA实现Restful完整Demo. 1.创建maven-web工程,后面就是正常的maven工 ...

  8. NYOJ--257--郁闷的C小加(一)(中缀表达式变后缀表达式 )

    郁闷的C小加(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说 ...

  9. uiautomator +python 实现安卓自动化

    很多人看到这个题目我相信他们可能会说,uiautomator不是java开发的吗?python怎么用呢,其实呢 ,一开始我也是这么想的,看了金阳光老师的视频,也是用java写的,我表示不服,我要科学上 ...

  10. public static void main(string[] args)解释

    这个问题困扰我好久了,今天就一查究竟,毕竟我好奇心比较重 1. why “public” 因为Java程序是通过jvm虚拟机调用的,所以main()函数要是想被调用,必须是public 2.why “ ...