Mongodb 查询文档
来源:互联网 发布:模块化编程的好处 编辑:程序博客网 时间:2024/05/18 02:22
find() 方法
要从MongoDB 查询集合数据,需要使用MongoDB 的 find() 方法。语法
基本的find()方法语法如下
>db.COLLECTION_NAME.find()find() 方法将在非结构化的方式显示所有的文件。
pretty() 方法
结果显示在一个格式化的方式,可以使用 pretty() 方法.语法:
>db.mycol.find().pretty()
例子
>db.mycol.find().pretty(){ "_id": ObjectId(7df78ad8902c), "title": "MongoDB Overview", "description": "MongoDB is no sql database", "by": "tutorials yiibai", "url": "http://www.yiibai.com", "tags": ["mongodb", "database", "NoSQL"], "likes": "100"}>除了find() 方法外,还有一个 findOne() 法,返回一个文件。
RDBMS Where子句和MongoDB等同语句
要查询文件的一些条件的基础上,可以使用下面的操作db.mycol.find({"by":"tutorials yiibai"}).pretty() where by = 'tutorials yiibai'
db.mycol.find({"likes":{$lt:50}}).pretty()where likes < 50
db.mycol.find({"likes":{$lte:50}}).pretty()where likes <= 50
db.mycol.find({"likes":{$gt:50}}).pretty()where likes > 50
db.mycol.find({"likes":{$gte:50}}).pretty()where likes >= 50
db.mycol.find({"likes":{$ne:50}}).pretty()where likes != 50
AND 在MongoDB中用法
语法:
在 find() 方法,如果通过多个键分离',',那么 MongoDB 处理 AND 条件。AND 基本语法如下所示:
>db.mycol.find({key1:value1, key2:value2}).pretty()
例子
下面给出的例子将显示所有的教程,标题是“MongoDB Overview“>db.mycol.find({"by":"tutorials yiibai","title": "MongoDB Overview"}).pretty(){ "_id": ObjectId(7df78ad8902c), "title": "MongoDB Overview", "description": "MongoDB is no sql database", "by": "yiibai", "url": "http://www.yiibai.com", "tags": ["mongodb", "database", "NoSQL"], "likes": "100"}>对于上面给出的例子相当于where子句 ' where by='yiibai' AND title='MongoDB Overview' , 可以通过任意数量的键值对在 find 子句。
MongoDB中OR
语法:
OR条件的基础上要查询文件,需要使用$or关键字。OR 基本语法如下所示:>db.mycol.find( { $or: [ {key1: value1}, {key2:value2} ] }).pretty()
例子
下面给出的例子将显示所有的教程,由'yiibai' 所写或标题是“MongoDB Overview '>db.mycol.find({$or:[{"by":"yiibai"},{"title": "MongoDB Overview"}]}).pretty(){ "_id": ObjectId(7df78ad8902c), "title": "MongoDB Overview", "description": "MongoDB is no sql database", "by": "yiibai", "url": "http://www.yiibai.com", "tags": ["mongodb", "database", "NoSQL"], "likes": "100"}>
AND 和 OR 一起使用
例子
下面给出的例子将显示有像的文件大于100,其标题是“MongoDB Overview'或者是'yiibai' 。等效于 SQL where子句 为 'where likes>10 AND (by = 'yiibai' OR title = 'MongoDB Overview')'>db.mycol.find("likes": {$gt:10}, $or: [{"by": "yiibai"}, {"title": "MongoDB Overview"}] }).pretty(){ "_id": ObjectId(7df78ad8902c), "title": "MongoDB Overview", "description": "MongoDB is no sql database", "by": "yiibai", "url": "http://www.yiibai.com", "tags": ["mongodb", "database", "NoSQL"], "likes": "100"}>
http://www.yiibai.com/mongodb/mongodb_query_document.html
查: find,findOne
语法:db.collection.find(查询表达式,查询的列);
Db.collections.find(表达式,{列1:1,列2:1});
例1:db.stu.find()
查询所有文档 所有内容
例2:db.stu.find({},{gendre:1})
查询所有文档,的gender属性 (_id属性默认总是查出来)
例3:db.stu.find({},{gender:1, _id:0})
查询所有文档的gender属性,且不查询_id属性
例3:db.stu.find({gender:’male’},{name:1,_id:0});
查询所有gender属性值为male的文档中的name属性
查询表达式:
1: 最简单的查询表达式
{filed:value} ,是指查询field列的值为value的文档
2: $ne --- != 查询表达式
{field:{$nq:value}}
作用--查filed列的值不等于 value 的文档
3: $nin --> not in
4: $all
语法:{field:{$all:[v1,v2..]}}
是指取出 field列是一个数组,且至少包含 v1,v2值
5: $exists
语法:{field:{$exists:1}}
作用: 查询出含有field字段的文档
6: $nor,
{$nor,[条件1,条件2]}
是指 所有条件都不满足的文档为真返回
7:用正则表达式查询以”诺基亚”开头的商品
例:db.goods.find({goods_name:/诺基亚.*/},{goods_name:1});
8: 用$where表达式来查询
例: db.goods.find({$where:'this.cat_id!= 3 && this.cat_id != 11'});
注意: 用$where查询时, mongodb是把bson结构的二进制数据转换为json结构的对象,
然后比较对象的属性是否满足表达式.
速度较慢
Update时可用的操作符
例:
->db.user.insert({name:'lisi',age:12,sex:'male',height:123,area:'haidian'});
->db.user.update({name:'lisi'},{$set:{area:'chaoyang'},$unset:{height:1},$inc:{age:1},$rename:{sex:'gender'}});
> db.user.find();
{ "_id" :ObjectId("51fc01c4f5de93e1f2856e33"), "age" : 13,"area" : "chaoyang", "gender" : "male","name" : "lisi" }
$setOnInsert ->相当于mysql中的列的默认值
- mongodb 子文档查询
- Mongodb查询文档
- mongodb文档查询地址
- MongoDB 查询文档
- MongoDB 查询文档
- Mongodb 查询文档
- MongoDB 查询文档
- mongoDB 文档查询
- MongoDB 查询文档(四)
- MongoDB 查询文档(五)
- mongodb 子文档查询
- MongoDB 查询文档
- mongodb查询内嵌文档
- mongodb查询内嵌文档
- MongoDB查询内嵌文档
- MongoDB内嵌文档查询
- mongodb 查询内嵌文档
- MongoDB 查询文档(一)
- ROC曲线详解
- 不同的经络,不同的线程
- 主线程不允许联网处理,使用handle失败,API23,AS2.1
- FILE
- RxBus使用示例
- Mongodb 查询文档
- HDU 5438(并查集 + dfs)
- ios开发——宏定义实现NSLog不打印设置
- [HDU1301]-Jungle Roads(最小生成树)
- IOS APP因为广告方面被拒解决方案
- Android中ListView与适配器ArrayAdapter,SimpleAdapter,定义BaseAdapter适配器,ListView添加headerView,ListView滚动到最后一项
- 导出页面div中的图
- 美团外卖手机网页版数据加密解析
- js中typeof与instanceof用法