查看当前的数据库:db
查看所有的数据库: show dbs / show databases
切换数据库:use 数据库名字
删除当前数据库:
db.dropDatabase()
不手动创建集合:向不存在集合中第一次加入数据时集合会被创建出来
Object ID:文档ID
String:字符串,必须是有效的UTF-8
Boolean:存储一个布尔值,true或者是false
Integer:整数可以是32位或64位、取决于服务器
Double:浮点值
Arrays:数组或者是列表、多个值存储到一个键
Object:用于嵌入式文档,即一个值一个文档
Null:存储Null值
Timestamp:时间戳,表示从1970-1-1到现在的总秒数
Date:存储当前日期或时间的UNIX时间格式
db.集合名称.insert(document) 以字典格式写
插入文档时如果不指定_id参数,MongoDB会为文档分配一个唯一的Object Id。
insert id 相同的话会报错
db.集合名称.save(document)
如果文档的_id已经存在则对原有数据进行修改,如果数据不存在则添加此数据。
db.collection.find()
db.集合名称.update(<query>, <update>, {multi:<boolean>})
参数query:查询条件
参数update:更新操作符
参数multi:可选的,默认是false表示只是更新找到的第一条记录,true的话表示满足的文档全部更新
例如:
db.test100.update({name:"xtx"}, {$set:{name:"肖同鑫xxxx"}})
注意:multi update only works with $ operators
db.集合名称.remove(<query>, {justOne:<boolean>})
参数query:可选,删除的文档条件
参数justOne:可选的,设为true或者是1表示只删除一条,默认是false表示删除多条
例如:
db.test100.remove({name:"xtx"}, {justOne:true})
小于:$it (less than)
小于等于:$ite (less than equal)
大于:$gt (greater than)
大于等于:$gte
不等于:$ne
"$in"表示不在某个范围内
"$nin"表示不在某个范围内
范围要使用列表列出所有的范围
and:两个条件之间使用逗号分隔,使用比较简单,正常的使用查询条件之间还是使用逗号分隔
or:使用$or,条件放在列表中
使用//或者是$regex编写正则表达式
当数据量比较大的时候建议先试用skip然后再使用limit,这样的话效率会比较高
使用$where后面写一个函数,返回满足条件的数据
查询的返回结果中,只选择必要的字段
db.集合名称.find({条件}, {字段名称:1,...})
参数为字段与值,值是1表示显示,不显示的话就不写出来就好了。
特殊:对于_id列默认是显示的,不显示需要明确设置为0
方法sort(),用于对集进行排序
db.集合名称.find().sort({字段:1,....})
参数1表示升序,参数-1表示降序
方法count()用于统计结果集中文档条数
db.collection.find({条件}).count()
db.collection.count({条件})
方法distinct()对数据进行去重
db.collection.distinct('去重字段',{条件})
mongodump -h dbhost -d dbname -o dbdirectory
-h:服务器地址,也可以指定端口号
-d:需要备份的数据库名称
-o:备份的数据存放位置,此目录中存放着备份出来的数据
mongorestore -h dbhost -d dbname --dir dbdirectory
-h:服务器地址
-d:需要恢复的数据库实例
--dir:备份数据所在位置