mongoDB学习(二)

常用命令

  • 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会默认删除所有查询到的结果

接下来是关于索引的操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值