mongoDB

一、安装前准备

1. 下载与本机对应位数的MongoDB软件

2. 运行安装程序,选择自定义安装,目录不要带中文和空格,点下一步就好。(如:MongoDB根目录 E:\install\MongoDB)

3. 创建MongoDB数据和日志目录,MongoDB将数据目录存储在 db 目录下,但是这个数据目录不会主动创建。
  请注意,数据目录应该放在根目录下。

  根目录下创建mongoDBData,其下新建db和log文件夹,log下新建mongodb.log文件。

  

4. 运行MongoDB服务器,必须进入到\bin目录执行:

  mongod.exe --dbpath E:\install\MongoDB\mongoDBdata\db

  如果执行成功,会输出一大串信息

5. 将MongoDB服务器作为Windows服务运行(下面命令必须是管理员权限的cmd窗口,进入\bin目录执行)

mongod.exe --bind_ip 127.0.0.1 --logpath "E:\install\MongoDB\mongoDBdata\log\mongodb.log" --logappend --dbpath "E:\install\MongoDB\mongoDBdata\db" --port 27017 --serviceName "mongoDB" --serviceDisplayName "mongoDBDisplay" --install

6. 进入MongoDB自带编译环境,进入\bin目录,执行mongo.exe,开始自动连接到MongoDB

二、mongoDB基本概念

    1. 文档:是一组键值(key-value)(BSON) ,文档不需要设置相同的字段, 并且相同的字段不需要相同的数据类型 。

    {"site":"www.baidu.com", "name":"百度", "age":16}

    

    i. 文档中的键/值对是有序的。
    ii. 文档中的值不仅可以是在双引号里面的字符串, 还可以是其他几种数据类型(甚至可以是整个嵌入的文 档)
    iii. MongoDB 区分类型和大小写。
    iv. MongoDB 的文档不能有重复的键。 
    v. 文档的键是字符串。 除了少数例外情况, 键可以使用任意 UTF-8 字符。 


    2. 集合: 集合就是 MongoDB 文档组, 类似于 RDBMS的表格。

        集合的命名规则

        i.  不能为空字符串""

        ii. 不能有\0字符(空字符),这个字符表示集合名的结尾

        iii. 不能以"system."开头,为系统保留前缀

        iv. 不能含有保留字符,如$


    3. 常用几种数据类型
   



三、基本noSql命令

1. 添加文档,insert() / save() 方法  db.COLLECTION_NAME.insert(document)

db.course.insert({title:"mongodb教程",desc:"nosql数据库"}))

2. 查找文档

db.course.find()

3. 插入文档的另一种方法

> document=({title:"mongodb教程",desc:"nosql数据库"})
{ "title" : "mongodb教程", "desc" : "nosql数据库" }
> db.course.insert(document)
WriteResult({ "nInserted" : 1 })

4. 更新文档

    语法:db.collection.update(

    <query>,

    <update>,

    {

        upsert: <boolean>,

        multi: <boolean>,

        writeConcern: <document>

    })

    参数说明
    

> db.course.update({'title':'mongodb教程'},{$set:{'title':'Nosql教程'}})) //只会修改第一条找到的
> db.course.update({'title':'mongodb教程'},{$set:{'title':'Nosql教程'}},{multi:true}) //修改所有

5. 删除文档(remove)

    remove前先执行find()命令来判断执行的条件是否正确是一个好的习惯。

    语法:db.collection.remove(<query>,{

        justOne: <boolean>,

        writeConcern: <document>

    })

> db.course.find()
{ "_id" : ObjectId("5ae447db75412046fb99ba8d"), "title" : "Nosql教程", "desc" : "nosql数据库" }
{ "_id" : ObjectId("5ae448b975412046fb99ba8e"), "title" : "Nosql教程", "desc" : "nosql数据库" }
{ "_id" : ObjectId("5ae6cd5275412046fb99ba8f"), "title" : "Hello", "desc" : "helloworld" }
{ "_id" : ObjectId("5ae6cd8675412046fb99ba90"), "title" : "Hello", "desc" : "helloworld" }
{ "_id" : ObjectId("5ae6cd9375412046fb99ba91"), "title" : "Hello", "desc" : "helloworld" }
> db.course.remove({title:'Hello'}, {justOne: true})
WriteResult({ "nRemoved" : 1 })
> db.course.find()
{ "_id" : ObjectId("5ae447db75412046fb99ba8d"), "title" : "Nosql教程", "desc" : "nosql数据库" }
{ "_id" : ObjectId("5ae448b975412046fb99ba8e"), "title" : "Nosql教程", "desc" : "nosql数据库" }
{ "_id" : ObjectId("5ae6cd8675412046fb99ba90"), "title" : "Hello", "desc" : "helloworld" }
{ "_id" : ObjectId("5ae6cd9375412046fb99ba91"), "title" : "Hello", "desc" : "helloworld" }
> db.course.remove({title:'Hello'})
WriteResult({ "nRemoved" : 2 })
> db.course.find()
{ "_id" : ObjectId("5ae447db75412046fb99ba8d"), "title" : "Nosql教程", "desc" : "nosql数据库" }
{ "_id" : ObjectId("5ae448b975412046fb99ba8e"), "title" : "Nosql教程", "desc" : "nosql数据库" }
6. 条件查询
语法:db.collection.find(query, projection)
    a) query : 可选, 使用 查询操作符 指定查询条件
    b) projection : 可选, 使用投影操作符指定返回的键。 查询时返回文档中所有键值, 只需省略该
    参数即可(默认省略) 。
 
类似关系数据库的where的格式:
    1. 等于    {<key>:<value>}
    2. 小于    {<key>: {$lt:<value>}}
    3. 小于等于    {<key>: {$lte:<value>}}

    4. 大于    {<key>: {$gt:<value>}}
    5. 大于等于    {<key>: {$gte:<value>}}
    6. 不等于    {<key>: {$ne:<value>}}



    
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值