`
jamie.wang
  • 浏览: 348628 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

MongoDB学习——初探

阅读更多
MongoDB初探

简介

MongoDB是开源的基于文档的数据库系统,存储基于BSON(类似JSON)的文档,支持复杂的数据结构,支持全部的索引,且提供了强大的查询接口,提供了良好的水平扩展支持,可以存储海量数据,被认为是mysql的替代品。

安装

MongoDB有针对CentOSrpm安装包

加入源,由于是10gen开发的,所以源名为10gen

# vi /etc/yum.repos.d/10gen.repo,加入:

[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
gpgcheck=0
enabled=1

yum安装:

# yum install mongo-10gen mongo-10gen-server

基本操作

启动/停止/重启

安装好后,保持默认的配置,就可以用其自带脚本启动,停止了

# service mongod start

MongoDB自带了一个webconsole,默认端口:28017

在浏览器中输入

http://localhost:28017/

即可看到目前的状态



 

基本的CRUD操作

MongoDB自带了命令行客户端

$ mongo
MongoDB shell version: 2.4.5
connecting to: test
Server has startup warnings:
Mon Jul 29 14:09:40.625 [initandlisten]
Mon Jul 29 14:09:40.625 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Mon Jul 29 14:09:40.625 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal).
Mon Jul 29 14:09:40.625 [initandlisten] ** Note that journaling defaults to off for 32 bit and is currently off.
Mon Jul 29 14:09:40.625 [initandlisten] ** See http://dochub.mongodb.org/core/32bit
Mon Jul 29 14:09:40.626 [initandlisten]

默认链接到test数据库

向集合user里加一条记录,注意MongoDB里面的集合可以认为是mysql的表

> db.user.insert({'name':'jack','age':20})

 查询刚刚插入的记录:

> db.user.find({'name':'jack'})
{ "_id" : ObjectId("51f717e2214a69388a1d7424"), "name" : "jack", "age" : 20 }
>

 更新记录:

全部更新

第一个参数是条件,第二个是值

> db.user.update({"name":"jack"}, { "name" : "jack", "age" : 50, "address" : { "country" : "CN", "city" : "HongKong" }, "fav" : [ "apple", "banana" ] })
>
> db.user.find({"name":"jack"})
{ "_id" : ObjectId("51f717e2214a69388a1d7424"), "name" : "jack", "age" : 50, "address" : { "country" : "CN", "city" : "HongKong" }, "fav" : [ "apple", "banana" ] }

部分更新

$set如果存在该字段,则修改,如果不存在则增加

$inc,指定字段递增

> db.user.update({"name":"jack"}, {$inc:{"age":1}})
>
> db.user.find({"name":"jack"})
{ "_id" : ObjectId("51f730c604f4bacbc87f67f2"), "name" : "jack", "age" : 54, "address" : { "country" : "CN", "city" : "Macao" }, "fav" : [ "apple", "banana" ], "email" : "yeah@yahoo.com" }
>
> db.user.update({"name":"jack"}, {$set:{"gender":"male"}})
>
> db.user.find({"name":"jack"})
{ "_id" : ObjectId("51f730c604f4bacbc87f67f2"), "address" : { "country" : "CN", "city" : "Macao" }, "age" : 54, "email" : "yeah@yahoo.com", "fav" : [ "apple", "banana" ], "gender" : "male", "name" : "jack" }

InsertOrUpdate

指定第三个参数为true

> db.user.update({"name":"hellen"}, {"name":"hellen", "age":19}, true)
>
> db.user.find()
{ "_id" : ObjectId("51f7312b04f4bacbc87f67f3"), "name" : "allen", "age" : 20, "address" : { "country" : "US", "city" : "NewYork" }, "email" : "allen@hotmail.com" }
{ "_id" : ObjectId("51f730c604f4bacbc87f67f2"), "address" : { "country" : "CN", "city" : "Macao" }, "age" : 54, "email" : "yeah@yahoo.com", "fav" : [ "apple", "banana" ], "gender" : "male", "name" : "jack" }
{ "_id" : ObjectId("51f740fb2c6c3ba0d71db410"), "name" : "hellen", "age" : 19 }

删除记录:

> db.user.remove({"name":"jack"})
>
> db.user.find({})
>

 注意:remove如果不加条件会删除所有的记录,且不能恢复。

find不加条件查询所有的记录

  • 大小: 138.9 KB
分享到:
评论

相关推荐

    mongodb 数据库基本操作.doc

    ### MongoDB数据库基本操作详解 #### 一、连接MongoDB数据库 MongoDB是一个广泛使用的开源文档数据库,支持多种编程语言。为了能够与MongoDB交互并执行各种数据库操作,首先需要通过官方提供的驱动程序或其他第三...

    30分钟学MongoDB系列 ——MongoDB的安全机制和高级管理篇

    MongoDB是当前流行的NoSQL数据库之一,它支持高性能、高可用性和易扩展的特性。在处理海量数据时,MongoDB提供了很多高级管理功能来确保数据的安全性和一致性。本篇将重点介绍MongoDB的安全机制和高级管理功能,包括...

    30分钟学MongoDB系列——限定集与大文件存储篇

    MongoDB是一种流行的NoSQL数据库,它以灵活的文档模型和高性能而广受欢迎。本次讨论的是MongoDB中的限定集(Capped Collections)和大文件存储(GridFS)两个特色功能。 首先,限定集是MongoDB中一种特殊的集合类型...

    30分钟学MongoDB系列——分布式架构分片(Sharding)

    本篇学习难度被评定为★★★★☆,建议读者在了解了MongoDB的基础操作之后,再进一步深入学习分片技术。 总体来看,本篇文档介绍了MongoDB分片的多个方面,包括分片的基础概念、架构组成、配置参数设置、分片键的...

    30分钟学MongoDB系列——Mongo分布式架构篇(简介)

    MongoDB,一款NoSQL数据库管理系统,在业界内以其高效和灵活著称。本文将详细探讨其分布式架构,首先我们会讨论分布式架构与云技术之间的联系,然后分析分布式架构的应用场景,并最终讲述MongoDB如何应用于云存储和...

    MongoDB 安装包 —— 单服务器的副本集(Replication)配置(单服务器:Windows)

    MongoDB 安装包 ,包含了单服务器的副本集(Replication)配置(单服务器:Windows)

    mongodb安装以及基本操作(亲测通过)

    mongod.exe --install --dbpath=d:\mongodb\data --logpath=d:\mongodb\log\log.log -auth -serviceName "serviceName" 2.卸载服务 mongod.exe --remove --serviceName "serviceName" 3.启动服务 ...

    老生常谈MongoDB数据库基础操作

    MongoDB是一个流行的非关系型数据库系统,以其灵活性和高性能在现代Web应用中占据了重要的位置。作为NoSQL数据库的一种,MongoDB并不遵循传统的关系型数据库模式,而是采用了基于文档的数据模型,支持BSON(Binary ...

    mongodb 实验-数据备份和恢复.zip

    mongodb 实验——数据备份和恢复

    【MongoDB】数据库的基本操作01

    1.1.3MySQL和MongoDB 1.2基本操作 1.2.1常用命令 1.2.2数据类型 1.2.3集合操作 1.2.3.1创建集合 1.2.3.2查看集合 1.2.3.3删除集合 1.2.4注意点 1.3增删改查 1.3.1插入数据 1.3.2查找数据 1.3.3更新数据 1.3.4删除...

    mongodb学习笔记资料

    mongodb学习笔记资料,从安装到操作库collection 对document的crud 索引 replicaSet sharding 备份与恢复

    MongoDB 学习资料集锦

    "MongoDB 学习资料集锦" 包含了深入学习 MongoDB 的关键资源,如 "mongodb权威指南" 和 "官方的详细手册"。这些资料将帮助初学者和经验丰富的开发人员掌握 MongoDB 的核心概念、操作以及最佳实践。 首先,"mongodb...

    MongoDB学习文档.zip

    本压缩包“MongoDB学习文档.zip”包含了一个名为“MongoDB学习文档.docx”的文件,该文件很可能是对MongoDB的基础知识、安装配置、操作指南以及Java API使用的详细介绍。 MongoDB的核心特性包括其灵活性、高可用性...

Global site tag (gtag.js) - Google Analytics