Mongodb语法初识(一)

MongoDB启动服务器

  • 第一步:下载安装包
  • 第二步:解压下载到的安装包,找到bin目录下面全部.exe文件
  • 第三步:在该目录下新建“data”文件夹,它将会作为数据存放的根文件夹。
  • 第四步:打开CMD窗口,切换到该目录下,按照如下方式输入命令:mongod --dbpath G:\MongoDB\data
  • 第四步:测试是否启动,http://localhost:27017/

MongoDB 插入文档

  • db.collection_name.insert(document) , 使用 insert()save() 方法向集合中插入文档,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。
  • MongoDB 可以将数据定义为一个变量,执行插入操作:db.col.insert(document),如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

MongoDB 语法

  • use database_name命令:如果数据库不存在,则创建数据库,否则切换到指定数据库(默认为 test)
  • db.dropDatabase()命令: 删除当前数据库,默认为 test
  • show dbs 命令:查看所有数据库
  • db 命令: 查看当前数据库名。
  • db.createCollection(name, options)命令:创建集合

    • MongoDB中并不需要创建集合。 当插入一些文档 MongoDB 会自动创建集合。db.yiibai.insert({"name" : "yiibai"})
  • show collections 命令:检查创建的集合
  • db.collection_name.drop() 命令:从数据库中删除集合。
  • db.collection_name.find()命令:从集合查询MongoDB数据

    • find() 将在非结构化的方式显示所有的文件。 如果显示结果是格式化的,那么可以用db.collection_name.find().pretty()
      除了find()方法还有findOne()方法,仅返回一个文档。
    • MongoDB投影,只选择需要的数据,而不是选择整个一个文档的数据​。db.collection_name.find({},{KEY:1})
  • db.mycol.update({key1:value1},{$set:{key2:value2}})命令:将现有的文档中的值更新

    • 默认情况下,MongoDB将只更新单一文件,更新多,需要一个参数 'multi' 设置为 truedb.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}},{multi:true})
  • db.mycol.remove(DELLETION_CRITTERIA)命令:用于从集合中删除文档

    • db.mycol.remove()命令:删除所有文件
  • RDBMS Where子句等效于MongoDB

    • AND条件:使用db.mycol.find({key1:value1, key2:value2}).pretty()命令
    • OR条件:使用db.mycol.find({$or: [{key1: value1}, {key2:value2}]}).pretty(),需要使用$or关键字
    • 使用 AND 和 OR条件:使用db.mycol.find({"likes": {$gt:10}, $or: [{key1:value1}, { key2:value2}] }).pretty()命令
  • 记录:Limit() 方法,db.collection_name.find().limit(NUMBER),skip()也接受数字类型参数并用于跳过文件数。

    • db.collection_name.find().limit(NUMBER).skip(NUMBER)
  • 文档排序:sort()方法, sort() 方法接受一个包含字段列表以及排序顺序的文档。 要使用1和-1指定排序顺序。1用于升序,而-1是用于降序。

    • db.mycol.find({},{"title":1,_id:0}).sort({"title":-1})
  • MongoDB索引:使用db.mycol.ensureIndex({"title":1,"description":-1})

    • 索引支持查询高效率执行,索引是特殊的数据结构,存储在一个易于设置遍历形式的数据的一小部分。索引存储在索引中指定特定字段的值或一组字段,并排序字段的值。
  • MongoDB 聚合:使用db.yibai.aggregate([{$group:{_id:"$name",num:{$sum:1}}}])

    • 上述用途将等效于sql查询:select name, count(*) from mycol group by name
  • MongoDB 复制: 通过使用副本集的复制来实现。副本集是一组承载同一个数据集的mongod实例。在副本的一个节点是接收所有的写操作主节点。所有的实例,次级,应用操作从主以便它们具有相同的数据集。副本集只能有一个主节点。
  • 聚集表达式

    • $sum :从集合累加所有文档中的定义值
    • $avg : 从集合中的所有文档计算所有给定值的平均值
    • $min : 从集合中获取的所有文件的最小的相应值
    • $max :从集合中的所有文档中的相应值中获取最大值
    • $push : 插入数组值到文档中
    • $addToSet :插入值所产生的数组到文档中,但不会产生重复

相关推荐