MongoDB学习笔记(一)

来源:互联网 发布:网络诈骗案证据不足 编辑:程序博客网 时间:2024/05/22 10:00

写在前面的话

在开始接触网站搭建的时候,首先想到的是博客网站,并没有想太多。当时的选择挺多的,wordpress,z-blog,织梦等建站程序。如果只是要求很低的话,这些程序绝对能满足你的需求。之后,就是对于网站的优化,修改一下主题,添加一个插件,这样折腾还是挺有意思的。
不过,一直想着自己动手搭建一个博客网站。苦于技术缘故,有想法却始终无法实现。至于之前弄得网站也并不怎么想折腾的,有好几次想重新改一下样式,都没有真正付诸于行动。最近前端这块学习也算是入门一段时间了。可以试着尝试运用前端主流的方式搭建一个博客网站。参考了GitHub上的案例,发现技术栈中有MongoDB,于是开始了MongoDB的学习之路。

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

创建数据库

use DATABASE_NAME 如果数据库不存在则创建,否则切换到指定数据库

db查看当前数据库名

show dbs 查看所有数据库

show tables 查看集合

删除数据库

db.dropDatabase() 删除当前数据库

db.collection.drop() 删除集合,collection为集合名,
例:db.student.drop()

插入文档

MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:

db.COLLECTION_NAME.insert(document)

实例

db.col.insert({    title: 'MongoDB教程',    tags: ['mongodb', 'database', 'nosql']})

也可以把数据定义为变量

document = ({  // 记得这边有个括号    title: 'MongoDB教程',    tags: ['mongodb', 'database', 'nosql'],    url: 'www.runoob.com'})db.col.insert(document)

插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

更新文档

update()方法

db.collection.update(    <query>,  // 查询条件    <update>,  //update的对象和一些更新的操作符    {        upsert: <boolean>,  // 可选        multi: <boolean>,   // 可选        writeConcern: <document>  // 可选,抛出异常的级别    })

save() 方法

db.collection.save(   <document>,   {     writeConcern: <document>   })

MongoDB 删除文档

remove() 方法

db.collection.remove(    <query>,       // 可选,删除的文档的条件    {        justOne:<boolean>,   // 可选,如果为true1,则只删除一个文档        writeConcern: <document>  // 可选,抛出异常级别    })

例子
db.col.remove({‘title’:’mongodb’})

db.col.remove({}) 删除所有数据

查询文档

db.col.find() 查看已插入的文档
db.col.find().pretty() 输出好看的格式
db.col.findOne() 只返回一个文档

条件操作符

(>) 大于 - gt(<)lt
(>=) 大于等于 - gte(<=)lte
db.col.find({“likes” : {$gt : 100}}) 查找likes大于100的数据

$gt -------- greater than$gte --------- gt equal$lt -------- less than$lte --------- lt equal$ne ----------- not equal

AND条件

传入多个键值然后逗号隔开
db.col.find({key1: value1, key2: value2}).pretty()

OR条件

传入多个键值然后逗号隔开

db.col.find(   {      $or: [         {key1: value1}, {key2:value2}      ]   }).pretty()

$type操作符

类型 数字 Double 1 String 2 Object 3 Array 4 Binary data 5 Object id 7 Boolean 8 Date 9 Null 10 Regular Expression 11 JavaScript 13 Symbol 14 JavaScript (with scope) 15 32-bit integer 16 Timestamp 17 64-bit integer 18 Min key 255 Max key 127

db.col.find({‘title’ :{$type: 2}}) 如果title为String则输出

limit and skip

db.col.find().limit(2) 只读取两条
db.col.find().limit(1).skip(1) 跳过第一条,只显示第二条
skip默认为0

sort()方法

1升序,-1降序

db.col.find().sort({key: 1})

例子
db.col.find({}, {‘title’: 1, _id: 0}).sort({‘likes’: -1})

0 0
原创粉丝点击