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

MongoDB学习记录2

2017-05-08 11:54 232 查看
show dbs 查看数据库

show collections 查看use中的数据库下的集合

db.collectionName.find().pretty() 查看某个集合中的文档,格式化输出

添加文档

document=({title:'mongodb2',description:'nosql',by:'tx2',url:'http',tags:['mongo','daba','nosql'],likess:111});
document2=({title:'mongodb2',description:'nosql',by:'tx2',url:'http',tags:['mongo','daba','nosql'],likes:111});


document和document2最后的likes和likess是不一样的,但都能添加成功,查询成功。我这样做是为了测试字段名是不是要相同。从结果看来是和mysql不一样了。又测试了一下没有likes,也是可以的。

每个集合都是独立的吧

更新文档

db.col.update({'title':'mongodb2'},{$set:{'title':'update'}})
可以更新成功

db.col.update({'title':'update'},{$set:{'title2':'update2'}})
title没有被更新。是在这个文档下又添加了一个title2的域(是这样叫吗)。域名不能通过这样的方式更新。

默认是更新第一条符合条件的。要更新所有符合条件的文档,就要如下

db.col.update({'title':'mongodb2'},{$set:{'title':'update'}},{multi:true})


替换整个文档数据

db.col.save({"_id" : ObjectId("590fe5f9f2502799555377b2"),"result":"all"})


删除文档

db.col.remove({'by':'tx2'})
符合条件的整个文档都被删除了

删除某个字段

db.col.update({},{$unset:{'description':''}},false,false)


查询文档

db.col.find({'by':'tx','likes':100}).pretty()
满足多个条件的查询

db.col.find({$or:[{'by':'tx'},{'likes':100}]}).pretty()
多个条件满足其中一个的查询

db.col.find({"title" : {$type : 2}})
操作符匹配数据类型查询。2是string,1是double。‘likes’:100竟然能用1查询出来。还不太理解。

db.col.find({},{'title':1,_id:0,'likes':1}).limit(1).pretty()
‘title’:1,_id:0意思是显示域名为title的域,不显示域名为_id的域。limit(x),显示x条查询集合。

skip(x)跳过x条集合。sort('key':1),sort('key':-1),按域名key来升序(1)或降序(-1)

sort,skip,limit都有的情况下,无视排序,都是sort先

$(".MathJax").remove();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: