关闭

MongoDB学习笔记

95人阅读 评论(0) 收藏 举报

脚本交互操作

   

命令

描述

mongod --dbpath

启动数据库

mongo

连接数据库

help

显示帮助

db.help()

数据库级别的帮助

db.foo.help()

集合的帮助

db

显示当前数据库

show dbs

显示所有数据库

show collections

显示当前数据库的集合

show users

显示当前数据库的用户

use dbname

切换数据库

db.getCollection("name")

得到数据库集合

db.CONNECTION_NAME.drop()

删除名为CONNECTION_NAME的集合

  

  

db.test.find()

查询集合所有文档

db.test.findOne()

查询集合一个文档

db.test.find().limit(100)

查询前100个文档

db.test.insert({})

在集合中添加新文档

db.test.update({},{})

在集合中更新文档

db.test.remove({})

在集合中删除文档

db.test.save(doc)

同步doc文档到数据库

……

  

   

   

   

   

   

MongoDB数据类型

数据类型

描述

null

表示空值或不存在

布尔

true 或 false

32位整数

js不支持,在shell中转换为浮点数

64位整数

js不支持,在shell中转换为浮点数

64位浮点数

js支持

字符串

UTF-8

符号

js不支持,在shell中转换为字符串

对象id

文档的12字节的唯一ID

日期

从标准纪元开始的毫秒数,不存储时区

正则表达式

采用js正则表达式

代码

可以包含js代码

二进制数据

shell中无法使用

最大值

BSON包括一个特殊类型,表示可能的最大值

最小值

BSON包括一个特殊类型,表示可能的最小值

未定义

js中的undefined

数组

js中的[]

内嵌文档

js中{"s" : {"a" : "c"}}

   

   

   

   

修改器

   

   

"$set"修改器

   

  1. 插入文档

    db.test.insert({"name" : "liyongjie"})

  2. 使用修改器添加或修改

    db.test.update({"name" : "liyongjie"} , {"$set" : {"age" : 22}})         //添加age22

  3. 修改age

    db.test.update({"name" : "liyongjie"} , {"$set" : {"age":23}})           //修改age23

  4. 使用"$unset"移除age

    db.test.update({"name":"liyongjie"} , {"$unset" : {"age" : 1}})         //移除age

   

   

"$inc"修改器

   

  1. 增加数字类型的字段

    db.test.update({"name" : "liyongjie",{"$inc" : {"age" : 1}}})    //使用负数减少计数

  2. 查询时数据增加1

    db.test.find()

   

   

数组修改器

   

   

  1. "$push"

    db.test.update({"name" : "liyongjie"} , {"$push" : {"friends" : "小红"}})

       

  2. "$addToSet"

    db.test.update({"name" : "liyongjie"} , {"$addToSet" : {"friends" : "小明"}})      //添加不重复的项

    也可以使用"$ne"进行条件过滤,如下:

    db.test.update({"friends" : {"$ne":"小明"}} , {"$push":{"friends":"小明"}})

       

  3. "$each"

    db.test.update({"name":"liyongjie"} , {"$push" : {"friends" : {"$each" : ["小花", "小李"]}}})      //连续添加多项

       

  4. "$pop"

    db.test.update({"name" : "liyongjie"},{"$pop" : {"friends" : 1}})              //从末尾删除数组中的一项

       

  5. "$pull"

    db.test.update({"name" : "liyongjie"} , {"$pull" : {"friends" : "小花"}})          //删除数组中匹配的项

       

  6. 定位操作符"$"

    数组名称(如friends)点下标可以定位到数组某一项,点$可以匹配到第一项

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3948次
    • 积分:212
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论