查询语句
环境准备:
> 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):删除文档