【mongoDB】学习笔记_02

查询语句

环境准备:

> use mydb
switched to db mydb
> db.createCollection('user')
{ "ok" : 1 }
>
>
> db.user.insert({name:'niuh',age:11})
> db.user.insert({name:'kk',age:22})
>
>
> db.post.find

find() 语句

 

//find() 用法:db.COLLECTION_NAME.find()

这里可以看到每个文档都会自动创建一个_id属性,在上面看到的文档间逻辑关系里有用到

db.user.find()
{ "_id" : ObjectId("58e761399a538671f6972318"), "name" : "niuh", "age" :
11 }
{ "_id" : ObjectId("58e7614b9a538671f6972319"), "name" : "kk", "age" : 2
2 }
>

MongoDB 中的 AND

当 find() 中传入多个键值对时,MongoDB 就会将其作为 AND 查询处理。用法:db.mycol.find({ key1: value1, key2: value2 }).pretty()

如: db.user.find({name:'kk'})

或者:db.user.find({name:'kk',age:22})

MongoDB 中的 OROR

MongoDB 中,OR 查询语句以 $or 作为关键词,用法如下:

查找姓名等于niuh或者年龄等于22的数据

db.user.find({$or:[{name:'niuh'},{age:22}]})

{ "_id" : ObjectId("58e761399a538671f6972318"), "name" : "niuh", "age" :
11 }
{ "_id" : ObjectId("58e7614b9a538671f6972319"), "name" : "kk", "age" : 2
2 }

 

同时使用 AND 和 OR

 db.user.find({age:{$gt:17},$or:[{name:'niuh'},{name:'niuh2'}]})

{ "_id" : ObjectId("58eaeed122f89f1af332122c"), "name" : "niuh2", "email
" : "hylinux2@126.com", "age" : 18 }

 

{$gt:17} 表示大于17,另外,$lt 表示小于,$lte 表示小于等于,$gte 表示大于等于,$ne 表示不等于。

 

 

更新文档

 

语法:db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATED_DATA)

> db.user.update({name:'niuh'},{$set:{email:'qqq@126.com'}})
> db.user.find({name:'niuh'})
{ "_id" : ObjectId("58eaf28f721e412d9a5b6aef"), "age" : 20, "email" : "q
qq@126.com", "name" : "niuh" }
>

  • 第一个大括号内容标示查找条件,第二个大括号内容则表示更新后的数据
  • 默认的 update 函数只对一个文档更新,如果想作用所有文档,则需要加入 multi:true

例子:db.user.update({name:'niuh'},{$set:{email:'qqq@126.com'}},{multi:true})

 

删除文档

语法:db.COLLECTION_NAME.remove(DELECTION_CRITERIA)

操作实例:

> db.user.remove({name:'niuh'})
> db.user.find()
{ "_id" : ObjectId("58eaf2a7721e412d9a5b6af0"), "name" : "kkkk", "email"
: "kkkk@126.com", "age" : 27 }
>

createCollection():创建集合

db.COLLECTION.drop():删除集合

db.COLLECTION_NAME.insert(document):插入文档

db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATED_DATA):更新文档

db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA}):替换已存在的文档

db.COLLECTION_NAME.remove(DELECTION_CRITERIA):删除文档

 

posted @ 2017-04-07 18:13  hylinux  阅读(134)  评论(0编辑  收藏  举报