浅谈MongoDB方法使用的区别
-
一、概述
在MongoDB中,有些相类似方法的使用是可以对数据有同样的功能,但是彼此间还是有点区别,
为了在使用过程中避免出现一些报错,在此浅谈几组方法的一点区别
二、MongoDB方法使用的区别
1、insert()和save()
MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:
db.COLLECTION_NAME.insert(document) db.COLLECTION_NAME.save(document)
两者都能够插入数据,如果不指定 _id 字段 ,save() 方法类似于 insert() 方法;如果insert()指定相同定_id,则插入会报错,而save()则会更新该 _id 的数据
2、limit()和skip()
如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。
语法如下:
db.COLLECTION_NAME.find().limit(number)
我们除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。
语法如下:
db.COLLECTION_NAME.find().skip(number)
当然这两者也是能够同时使用的
语法如下:
db.COLLECTION_NAME.find().limit(number).skip(number) 或者 db.COLLECTION_NAME.find().skip(number).limit(number) //没有前后顺序的区分,主要看查询数据的需求而自己定
limit()是指定查看数据量,按默认的顺序来,而skip()也是按顺序来,跳过多少数据量后查看到的数据。
3、ensureIndex()和createIndex()
在MongoDB建立索引能提高查询效率,如果没有建立索引,在查询时,MongoDB必须执行全表扫描,在数据量大时,效率差别就很明显
语法如下:
db.COLLECTION_NAME.ensureIndex(keys,options) db.COLLECTION_NAME.createIndex(keys,options)
两者间的区别在在于跟DB版本有关,在一些文档中看到 ,从mongoDB 3.0开始ensureIndex被废弃,使用 createIndex创建索引;
所以根据自己的DB环境和使用习惯选择使用即可。
三、总结
希望通过本文能够对以上几组方法的使用有个清晰的认识,更好的记住在什么时候能够使用正确有效的方法,分享文章给大家,
大家有什么其他相类似方法的区别可以回复补充,我们彼此学习,相互进步。