mongodb 简单记录
mongodb的结构有点类似mysql
如下为其对比:
mondodb | mysql |
---|---|
database | database |
collection | table |
document | row |
column | field |
mongodb存放的数据类似于json,叫bson
例子:
db.col.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
{
title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
}
上面就是文档,像title—-》field
col—–》table
mongodb查询语句类比sql
mongodb | sql |
---|---|
db.col.find({‘likes’:100}) | select * from col where likes=100 |
b.col.find({}) | select * from col |
条件符
符号 | mongo |
---|---|
(>) 大于 | $gt |
(<) 小于 | $lt |
(>=) 大于等于 | $gte |
(<= ) 小于等于 | $lte |
例如:
db.col.find({'likes':{$gt : 100}})
取 "col" 集合中 "likes" 大于 100 的数据
db.col.find({"title" : {$type : 2}})
$type:2为String类型
db.col.find({},{"title":1,_id:0}).limit(2) 第一个 {} 放 where 条件,为空表示返回集合中所有文档。
第二个 {} 指定那些列显示和不显示 (0表示不显示 1表示显示)
>db.col.find({},{"title":1,_id:0}).limit(1).skip(1) 只会显示第二条文档数据
顺序:当查询时同时使用sort,skip,limit,无论位置先后,最先执行顺序 sort再skip再limit
补充说明skip和limit方法只适合小数据量分页 详情
排序:
>db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
其中 1 为升序排列,而-1是用于降序排列
索引:
https://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html