注意:linux常用的操作不需要背记,因为作为java开发者我们后面会通过springboot来整合
1、INSERT操作:
> db.User.save({name:'zhangsan',age:21,sex:true}) > db.User.find() 可以看到 "_id": Objectld("4f69e680c9106ee2ec95da66") _id就是主键;生成规则是:Objectld是、id”的默认类型。Objectld使用12字节的存储空间,每个字节二位十六进制数字, 是一个24位的字符串
|
2、Query操作
# mysql:select * from User where name = 'zhangsan' > db.User.find({name:"zhangsan"}) |
# select name, age from User where age = 21 > db.User.find({age:21}, {'name':1, 'age':1}) |
在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
# select * from User order by age > db.User.find().sort({age:1}) |
在 MongoDB 中使用 limit()方法来读取指定数量的数据,skip()方法来跳过指定数量的数据:
# select * from User skip 2 limit 3 > db.User.find().skip(0).limit(3) |
in、count、or 等对应的操作:
# select * from User where age in (21, 26, 32) > db.User.find({age:{$in:[21,26,32]}}) |
# select count(*) from User where age >20 > db.User.find({age:{$gt:20}}).count() |
# select * from User where age = 21 or age = 28 > db.User.find({$or:[{age:21}, {age:28}]}) |
Update操作:
# update Userset age = 100, sex = 0 where name = 'user1' > db.User.update({name:"zhangsan"}, {$set:{age:100, sex:0}}) |
Update()有几个参数需要注意。
db.collection.update(criteria, objNew, upsert, mult)
criteria:需要更新的条件表达式
objNew:更新表达式
upsert:如FI标记录不存在,是否插入新文档。
multi:是否更新多个文档。
Remove操作:
removeO用于删除单个或全部文档,删除后的文档无法恢复。
> db.User.remove(id) //移除对应id的行 > db.User.remove({}) //移除所有 |
索引:
索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。
这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。
索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构。
>db.User.createIndex({"name":1}) |
语法中 name值为你要创建的索引字段,1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1 即可