mongodb的常用操作(入门必备)
来源:互联网 发布:mac gradle 安装路径 编辑:程序博客网 时间:2024/06/16 11:32
一、简介
1、mongodb是由c++编写的,是一个基于分布式文件存储的开源数据库系统
2、数据结构由键值对组成,类似于json对象
3、常用的概念解析
SQL术语
MongoDB术语
说明
database
database
数据库
table
collection
数据库表/集合
row
document
行/队列
column
field
字段/域
index
index
索引
primary key
primary key
主键
二、常用的数据类型
String : 这是最常用的数据类型来存储数据。在MongoDB中的字符串必须是有效的UTF-8。
Integer : 这种类型是用来存储一个数值。整数可以是32位或64位,这取决于您的服务器。
Boolean : 此类型用于存储一个布尔值 (true/ false) 。
Double : 这种类型是用来存储浮点值。
Min/ Max keys : 这种类型被用来对BSON元素的最低和最高值比较。
Arrays : 使用此类型的数组或列表或多个值存储到一个键。
Timestamp : 时间戳。这可以方便记录时的文件已被修改或添加。
Object : 此数据类型用于嵌入式的文件。
Null : 这种类型是用来存储一个Null值。
Symbol : 此数据类型用于字符串相同,但它通常是保留给特定符号类型的语言使用。
Date : 此数据类型用于存储当前日期或时间的UNIX时间格式。可以指定自己的日期和时间,日期和年,月,日到创建对象。
Object ID : 此数据类型用于存储文档的ID。
Binary data : 此数据类型用于存储二进制数据。
Code : 此数据类型用于存储到文档中的JavaScript代码。
Regular expression : 此数据类型用于存储正则表达式
三、常用的操作
1、常用的帮助提示
db.help() //帮助
2、操作数据库
use db_name //创建或指定数据库,db_name为数据库 名称,如果不存在则进行创建,如果存在则切换到该数据库
db //显示当前数据库
db.getName() //显示当前数据库的名称
show dbs //显示所有数据库
db.dropDatabase() //删除当前指定的数据库
db.cloneDatabase(host) //从指定主机上克隆数据库
db.stats() //显示当前数据库状态
db.version() //显示数据库版本号
db.getMongo() //查看当前数据的连接信息
3、操作Collection(集合)
db.createCollection(collection_name,options) //创建一个集合,collection_name为集合名称,options为配置的一些选项
字段
类型
描述
capped
Boolean
(可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,会自动覆盖最早的条目,当它达到其最大大小。如果指定true,则需要也指定尺寸参数。
autoIndexID
Boolean
(可选)如果为true,自动创建索引_id字段的默认值是false。
size
number
(可选)指定最大大小字节封顶集合。如果封顶如果是 true,那么你还需要指定这个字段。
max
number
(可选)指定封顶集合允许在文件的最大数量。
db.collection_name.drop() //删除指定的集合
db.col_name.update(selection_criteria,update_data) //更新文档
例:db.mycol.update({'title':'MongoDB'},{$set:{'title':'New MongoDB'}})
db.getCollection(collection_name) //得到指定名称的集合
db.getCollectionNames() //获取当前数据库的所有集合
db.collection_name.find() //显示该集合的所有文档数据
db.collection_name.find(select_criteria) //条件查询
例:db.mycol.find({"age": 20}); //查询age=20的记录
db.mycol.find({“age”:{$lt:20}}) //查询age<20的记录
db.mycol.find({“age”:{$lte:20}}) //查询age<=20的记录
db.mycol.find({“age”:{$gt:20}}) //查询age>20的记录
db.mycol.find({“age”:{$gte:20}}) //查询age>=20的记录
db.mycol.find({“age”:{$ne:20}}) //查询age!=20的记录
db.mycol.find({“age”:{$gte:20,$lte:25}}) //查询20~25之间
db.collection_name.find({key1:value1,key2:value2}) //and
db.collection_name.find({$or: [ {key1: value1}, {key2:value2} ]}) //or
db.collection_name.find().limit(number) //限定查询的记录数
db.col_name.find()limit(number).skip(n) //跳过n条记录
db.col_name.find().sort({key:1}) //按该字段key的升序排列
db.col_name.find().sort({key:-1}) //按该字段key的降序排列
ensureIndex() 方法也可以接受的选项列表(可选),其下面给出的列表:
参数
类型
描述
background
Boolean
在后台建立索引,以便建立索引并不能阻止其他数据库活动。指定true建立在后台。默认值是 false.
unique
Boolean
创建唯一索引,以便收集不会接受插入索引键或键匹配现有的值存储在索引文档。指定创建唯一索引。默认值是 false.
name
string
索引的名称。如果未指定,MongoDB中都生成一个索引名索引字段的名称和排序顺序串联.
dropDups
Boolean
创建一个唯一索引的字段,可能有重复。 MongoDB的索引只有第一次出现的一个键,从集合中删除的所有文件包含该键的后续出现的。指定创建唯一索引。默认值是 false.
sparse
Boolean
如果为true,指数只引用文档指定的字段。这些索引使用更少的空间,但在某些情况下,特别是各种不同的表现。默认值是 false.
expireAfterSeconds
integer
指定一个值,以秒为TTL控制多久MongoDB的文档保留在此集合.
v
index version
索引版本号。默认的索引版本取决于mongodb 运行的版本在创建索引时.
weights
document
权重是从1到99999范围内的数,表示该字段的意义,相对于其他的索引字段分数.
default_language
string
对于文本索引时,决定停止词和词干分析器和标记生成规则列表的语言。默认值是 english.
language_override
string
对于文本索引时,指定的名称在文档中包含覆盖默认的语言,语言字段中。默认值是语言。
4、操作用户
db.addUser(user_name) //添加用户
db.addUser(user_name,password,true) //添加用户密码,是否只读
db.auth(user_name,password) //数据库认证、安全模式
show users //显示当前所有用户
db.removeUser(user_name) //删除用户
- mongodb的常用操作(入门必备)
- Mongodb入门(2) --- 常用操作
- mongodb的常用 操作
- MongoDB的常用操作
- Mongodb官方文档(入门必备)
- MongoDB的常用操作(二)
- MongoDB总结(一):MongoDB 的安装和常用操作
- MongoDB常用的操作命令
- MongoDB 的基本常用操作
- MongoDB常用的操作命令
- 理论---mongoDB的常用操作
- 常用的 MongoDB 操作命令
- mongodb中聚类中常用的操作
- SQL Server 2000常用操作疑难21问,入门必备
- MongoDB常用操作(二)
- 初学者必备MongoDB操作命令
- mongoDB学习(二)之常用的修改操作
- mongoDB学习(二)之常用的修改操作(2)
- 【POJ】3259 Wormholes bellman-ford | SPFA
- yum update时候出现Another app is currently holding the yum lock, waiting for it to exit...解决方法
- 从AS导入Eclipse项目,报Error:Application and test application id cannot be the same: both are 'com.
- newinstance和new有什么区别
- 安卓-IntentService使用
- mongodb的常用操作(入门必备)
- I.MX6 Android 5.1.1 下载、编译
- poj1703 种类并查集
- 小强之家,联系方式汇总
- 问题清单!!!!
- Linux学习总结05——进程环境
- Windows下搭建appium+python的测试开发环境
- DHCP协议与dhcpcd分析
- NestScrollView嵌套recyclerview嵌套卡顿的解决方式