您的位置:首页 > 数据库 > Mongodb

mongoDB学习(二)

2016-01-31 22:01 309 查看
常用命令

数据的插入

数据查询

数据更新

数据删除

常用命令

show dbs:查看所有数据库

show collections /tables:产看当前数据库所有数据集

use dbName:切换数据库,如果此数据库不存在,mongodb会在需要的时候自己创建。

db.dropDatabase():删除当前数据库

db.集合名.drop():删除数据集

数据的插入

db.集合名.insert(json):db.mongo_collection.insert({x:1})


数据查询

db.集合名.find([json]):json可以为空,默认查询当前数据库所有数据集,
db.mongo_collection.find()
返回
{ "_id" : ObjectId("56adf58072d6a5434663ff75"), "x" : 1 }
,其中’_id’是mongodb自己生成的字段,在全局范围内不会重复,在分布式的数据库中,一定要有一个全局唯一的字段来进行数据的处理,’_id’也可以自己指定,使用db.mongo_collection.insert({x:2,_id:123})

db.mongo_collection.find({x:1})查询出x为1的结果

mongodb shell是交互式的js shell 因此我们可以直接写

for(i = 3;i<100;i++) db.mongo_collection.insert({x:i})
往集合里插入多条数据

- db.mongo_collection.find().count()
输出记录数

另外对于find()后的结果集还有这几个方法:

skip(num):跳过num个记录

limit(num):限制输出num条记录

sort(condition):根据condition进行排序

explain():查看执行计划

例如
db.mongo_collection.find().skip(3).limit(2).sort({x:1})
对查询结果每隔三条记录只输出前两条并根据x排序

数据更新

db.集合名.update(json1,json2):db.mongo_collection.update({x:1},{x:99}),只更新找到的第一条数据,是为了防止update的误操作

有这样一个例子:db.mongo_collection.insert({x:100,y:100,z:100})

然后对这条数据更新,以z=100为条件,将y更新成99

如果直接写db.mongo_collection.update({z:100},{y:99})会将整条数据更新为y:99

在这需要使用局部操作符set(set前面有个美元符号),db.mongo_collection.update({z:100},

{$set:{y:99}})

db.集合名.update(json1,json2,true):当更新一条不存在的一条数据时,会插入这条数据json2,第三个参数upsert=true

db.集合名.update(json1,json2,false,true),多条数据更新,设置第四个参数multiupdate=true,同时为了防止误操作要求json2只能使用局部操作符$set

数据删除

db.集合名.remove(json):为防止误操作删除操作必须接收参数,与update不同,remove会默认删除所有查询到的结果

接下来是关于索引的操作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: