`
dannyhz
  • 浏览: 394766 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

mongo db 简单操作

 
阅读更多
引用


本地操作数据库
1,在第一个窗口 指定mongo的数据文件地址, data\db这个文件夹是要新建好的
D:\Tools\Mongo\mongodb-win32-i386-2.4.1\bin>mongod -dbpath "D:\Tools\Mongo\mongodb-win32-i386-2.4.1\data\db" 

2。在第二个窗口 打mongo ,能看出来是否连接成功
D:\Tools\Mongo\mongodb-win32-i386-2.4.1\bin>mongo






http://blog.csdn.net/xxx9001/article/details/52196833


一、首先安装mongodb

1.下载地址:http://www.mongodb.org/downloads

2.解压缩到自己想要安装的目录,比如d:\mongodb

3.创建文件夹d:\mongodb\data\db、d:\mongodb\data\log,分别用来安装db和日志文件,在log文件夹下创建一个日志文件MongoDB.log,即d:\mongodb\data\log\MongoDB.log

4.运行cmd.exe进入dos命令界面,执行下列命令

  > cd d:\mongodb\bin

  > d:\mongodb\bin>mongod -dbpath "d:\mongodb\data\db"



 看到类似的信息,则说明启动成功,默认MongoDB监听的端口是27017,MySQL的是3306

5.测试连接

 新开一个cmd窗口,进入mongodb的bin目录,输入mongo或者mongo.exe,出现如下信息说明测试通过,此时我们已经进入了test这个数据库,如何进入其他数据库下面会说。

 

 输入exit或者ctrl+C可退出。

6.当mongod.exe被关闭时,mongo.exe 就无法连接到数据库了,因此每次想使用mongodb数据库都要开启mongod.exe程序,所以比较麻烦,此时我们可以将MongoDB安装为windows服务

 还是运行cmd,进入bin文件夹,执行下列命令

 > d:\mongodb\bin>mongod --dbpath "d:\mongodb\data\db" --logpath "d:\mongodb\data\log\MongoDB.log" --install --serviceName "MongoDB"

 这里MongoDB.log就是开始建立的日志文件,--serviceName "MongoDB" 服务名为MongoDB

 接着启动mongodb服务

 > d:\mongodb\bin>NET START MongoDB

 

 打开任务管理器,可以看到进程已经启动

7.关闭服务和删除进程

 > d:\mongodb\bin>NET stop MongoDB   (关闭服务)

 > d:\mongodb\bin>mongod --dbpath "d:\mongodb\data\db" --logpath "d:\mongodb\data\log\MongoDB.log" --remove --serviceName "MongoDB"      (删除,注意不是--install了)



二、使用mongodb

1.常用的命令

show dbs    显示数据库列表
use dbname    进入dbname数据库,大小写敏感,没有这个数据库也不要紧
show collections    显示数据库中的集合,相当于表格
2.创建&新增

db.users.save({"name":"lecaf"})    创建了名为users的集合,并新增了一条{"name":"lecaf"}的数据
db.users.insert({"name":"ghost", "age":10})    在users集合中插入一条新数据,,如果没有users这个集合,mongodb会自动创建
save()和insert()也存在着些许区别:若新增的数据主键已经存在,insert()会不做操作并提示错误,而save() 则更改原来的内容为新内容。
存在数据:{ _id : 1, " name " : " n1 "} ,_id是主键
insert({ _id : 1, " name " : " n2 " })    会提示错误
save({ _id : 1, " name " : " n2 " })     会把 n1 改为  n2 ,有update的作用。
3.删除

db.users.remove()    删除users集合下所有数据
db.users.remove({"name": "lecaf"})    删除users集合下name=lecaf的数据
db.users.drop()或db.runCommand({"drop","users"})    删除集合users
db.runCommand({"dropDatabase": 1})    删除当前数据库
4.查找

db.users.find()    查找users集合中所有数据
db.users.findOne()    查找users集合中的第一条数据
5.修改

db.users.update({"name":"lecaf"}, {"age":10})    修改name=lecaf的数据为age=10,第一个参数是查找条件,第二个参数是修改内容,除了主键,其他内容会被第二个参数的内容替换,主键不能修改,如图
 

三、高级应用

1.条件查找

db.collection.find({ "key" : value })    查找key=value的数据
db.collection.find({ "key" : { $gt: value } })    key > value
db.collection.find({ "key" : { $lt: value } })    key < value
db.collection.find({ "key" : { $gte: value } })    key >= value
db.collection.find({ "key" : { $lte: value } })    key <= value
db.collection.find({ "key" : { $gt: value1 , $lt: value2 } })    value1 < key <value2
db.collection.find({ "key" : { $ne: value } })    key <> value
db.collection.find({ "key" : { $mod : [ 10 , 1 ] } })    取模运算,条件相当于key % 10 == 1 即key除以10余数为1的
db.collection.find({ "key" : { $nin: [ 1, 2, 3 ] } })    不属于,条件相当于key的值不属于[ 1, 2, 3 ]中任何一个
db.collection.find({ "key" : { $in: [ 1, 2, 3 ] } })    属于,条件相当于key等于[ 1, 2, 3 ]中任何一个
db.collection.find({ "key" : { $size: 1 } })    $size 数量、尺寸,条件相当于key的值的数量是1(key必须是数组,一个值的情况不能算是数量为1的数组)
db.collection.find({ "key" : { $exists : true|false } })    $exists 字段存在,true返回存在字段key的数据,false返回不存在字度key的数据
db.collection.find({ "key": /^val.*val$/i })    正则,类似like;“i”忽略大小写,“m”支持多行
db.collection.find({ $or : [{a : 1}, {b : 2} ] })    $or或 (注意:MongoDB 1.5.3后版本可用),符合条件a=1的或者符合条件b=2的数据都会查询出来
db.collection.find({ "key": value , $or : [{ a : 1 } , { b : 2 }] })    符合条件key=value ,同时符合其他两个条件中任意一个的数据
db.collection.find({ "key.subkey" :value })    内嵌对象中的值匹配,注意:"key.subkey"必须加引号
db.collection.find({ "key": { $not : /^val.*val$/i } })    这是一个与其他查询条件组合使用的操作符,不会单独使用。上述查询条件得到的结果集加上$not之后就能获得相反的集合。
2.排序

db.collection.find().sort({ "key1" : -1 ,"key2" : 1 })    这里的1代表升序,-1代表降序
3.其他

db.collection.find().limit(5)    控制返回结果数量,如果参数是0,则当作没有约束,limit()将不起作用
db.collection.find().skip(5)    控制返回结果跳过多少数量,如果参数是0,则当作没有约束,skip()将不起作用,或者说跳过了0条
db.collection.find().skip(5).limit(5)    可用来做分页,跳过5条数据再取5条数据
db.collection.find().count(true)    count()返回结果集的条数
db.collection.find().skip(5).limit(5).count(true)    在加入skip()和limit()这两个操作时,要获得实际返回的结果数,需要一个参数true,否则返回的是符合查询条件的结果总数

分享到:
评论

相关推荐

    Mongo DB 可视化工具 robo3t-1.4.3

    可视化工具是管理和操作Mongo DB的重要辅助手段,能够帮助用户更直观地查看和操作数据库。robo3t(原名Robomongo)就是这样一个工具,提供了一个图形用户界面来简化Mongo DB的交互过程。 标题中的"robo3t-1.4.3"指...

    mongo db 0801

    - **MongoDB**:简单事务,仅支持单文档级别的原子性写操作。 **3. 扩展方式** - **RDBMS**:通常通过垂直扩展(scale up)来增加硬件资源(如磁盘空间和内存),以适应更多的用户和数据。 - **MongoDB**:主要通过...

    java操作 mongo DB 数据库例子

    这篇博客"java操作mongo DB数据库例子"提供了使用Java与MongoDB交互的示例代码,对于学习如何在Java应用中集成MongoDB非常有帮助。MongoDB的主要优势包括灵活的数据模型、高性能以及易于扩展性。 首先,我们需要...

    mongo db introductoin

    为了选择一个数据库进行操作,在mongosh shell中,可以使用`use &lt;db&gt;`命令来切换。 #### 六、MongoDB客户端工具 - **MongoDB Shell**:这是一种客户端工具,用户可以通过它查询和更新数据以及执行管理操作。 - **...

    Spring4 整合MongoDB详细讲解项目源码

    NoSql 其灵活的数据存储方式备受当前IT从业人员的青睐 Mongo DB很好的实现了面向对象的思想 OO思想 在Mongo DB中 每一条记录都是一个Document对象 Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写...

    robot mongo操作手册

    MongoDB的安装过程相对简单,可在多种操作系统上运行,包括Windows、Linux和macOS。安装完成后,通过命令行启动MongoDB服务器,如在Linux上使用`mongod`命令。为了确保数据安全性,建议配置数据目录权限和设置日志...

    php_mongo-1.3.0

    php_mongo扩展提供了丰富的API,使得开发者可以通过简单的PHP代码操作MongoDB。例如,可以使用`new MongoClient()`创建数据库连接,`$db = $client-&gt;selectDB('database_name')`来选择数据库,`$collection = $db-&gt;...

    log4mongo-java.7z

    描述中提到“使用Mongo DB存储Java的日志”,这表明log4mongo-java允许开发者将日志条目异步写入MongoDB,这样可以避免日志写入过程对业务逻辑的性能造成负面影响。日志记录通常是非阻塞操作,因此将其设计为异步...

    Java-and-MongoDB-Integration:使用Mongo Java驱动程序实现一个简单的程序来演示Mongo DB中的CRUD操作

    使用Mongo Java驱动程序实现一个简单的程序来演示Mongo DB中的CRUD操作。 要求: •来自MongoDB社区版本。 •来自MongoDB指南针。 它提供了有效的用户界面来查看您的数据库,集合和文档,还允许您执行诸如find()...

    mongo安装手册

    进入MongoDB Shell后,你可以进行一些简单的操作来验证连接是否成功。例如,执行加法运算: ``` &gt; 3 + 3 6 ``` 这表明你已经成功连接到了数据库。 **3. 操作数据库** - 显示当前使用的数据库:`db` - 插入文档:`db...

    MongoDB 客户端工具 MongoVue

    MongoVUE是一个创新的MongoDB桌面应用Windows操作系统,给你一个优雅的、高度可用的GUI界面来使用MongoDB。现在有一个更少的担心在管理你的网络数据。 ngoVUE使其成为一个非常简单的看到并可视化数据。它给你3不同的...

    my-udemy:使用Node js,Express和Mongo DB的Rest API

    我的朋友 一个简单的项目实践节点JS,快递,MongoDB的和NPM包要contribue检查 克隆 ...安装npm软件包 npm install 使用的npm软件包和工作流程 ...使用mongo db上的持久数据 使用 Todos登录mongo数据库和文件 添加

    Hospital-Management-System:使用Node JS,Express,REST Api,Mongo DB和Postman创建的仅后端医院管理系统(用于测试路线)

    在医院管理系统中,Express被用来定义API路由,比如医生信息管理、患者挂号、药品库存等业务逻辑,通过简单的代码实现复杂的操作。 REST(Representational State Transfer)是一种网络应用程序的设计风格和开发...

    mongo查询语法.docx

    同样,可以组合使用这些操作符来构造更复杂的查询,如`db.collection.find({ "field" : { $gt: value1, $lt: value2 } })`,这将返回`field`字段值在`value1`和`value2`之间的文档。 2. 不等于查询: 使用`$ne`操作...

    MongoDB runCommond命令.pdf

    MongoDB的`runCommand`命令是数据库操作中的一个重要工具,它允许用户执行一系列高级操作,如数据统计、数据库维护、服务器状态检查等。在MongoDB中,命令实际上是通过查询`$cmd`集合来实现的,这不同于常规的数据...

    mongo免安装

    2. **易于启动和停止**:免安装版通常会提供一个简单的命令行工具来启动和关闭数据库服务器,如`mongod`或`mongodb.exe`。 3. **配置灵活性**:尽管是免安装版,但仍然可以配置存储路径、端口、日志文件等参数,满足...

    apache配置mongo的php_mongo.dll

    $db = $m-&gt;selectDB('mydatabase'); $collection = $db-&gt;selectCollection('mycollection'); // ... 其他操作 ?&gt; ``` 请注意,`php_mongo.dll`扩展在PHP 7.0及以上版本中已被弃用,取而代之的是`mongodb`扩展...

    mongo笔记大全,小白入门必备

    - **更新**:`db.collection.update(query, updateObj, upsert, multi)`,`query` 是更新条件,`updateObj` 是更新操作,`upsert` 表示如果未找到匹配项则插入新文档,`multi` 控制是否更新所有匹配的记录。...

    Spring-data-mongo应用

    本案例主要介绍了如何在 Spring 4.1.3.RELEASE 版本下集成 MongoDB,并通过 Spring Data MongoDB 1.8.0 进行简单的数据操作。 #### 二、环境准备 - **Spring版本**:4.1.3.RELEASE - **Spring Data MongoDB版本**...

    mongo设置连接池

    DB db = mongo.getDB("mydb"); // 获取数据库 DBCollection coll = db.getCollection("testCollection"); // 获取集合 BasicDBObject doc = new BasicDBObject(); // 创建文档 doc.put("key", "value"); // 设置文档...

Global site tag (gtag.js) - Google Analytics