MongoDB之資料查詢(邏輯運算)
邏輯運算注意就是三種型別:與($and)、或($or),非($not,$nor)。
範例:查詢年齡在20~30歲的人員資訊
> db.emp.find({"age":{"$gte":20,"$lte":30}}).pretty();
{
"_id" : ObjectId("599108423268c8e84253be26"),
"name" : "趙一",
"sex" : "男",
"age" : 30,
"sal" : 1000,
"loc" : "北京"
}
{
"_id" : ObjectId("599108423268c8e84253be27"),
"name" : "錢二",
"sex" : "女",
"age" : 22,
"sal" : 5000,
"loc" : "上海"
}
{
"_id" : ObjectId("599108423268c8e84253be29"),
"name" : "李四",
"sex" : "女",
"age" : 30,
"sal" : 7000,
"loc" : "北京"
}
{
"_id" : ObjectId("599108423268c8e84253be2a"),
"name" : "週五",
"sex" : "女",
"age" : 30,
"sal" : 6400,
"loc" : "北京"
}
{
"_id" : ObjectId("599108423268c8e84253be2b"),
"name" : "吳六",
"sex" : "男",
"age" : 30,
"sal" : 2500,
"loc" : "重慶"
在進行邏輯運算的時候“and”的連線是最容易的,因為只需要利用“,”分隔若干條件就可以了。
範例:查詢年齡不是30的人員
> db.emp.find({"age":{"$ne":30}}).pretty();
{
"_id" : ObjectId("599108423268c8e84253be27"),
"name" : "錢二",
"sex" : "女",
"age" : 22,
"sal" : 5000,
"loc" : "上海"
}
{
"_id" : ObjectId("599108423268c8e84253be28"),
"name" : "孫三",
"sex" : "男",
"age" : 40,
"sal" : 2000,
"loc" : "深圳"
}
{
"_id" : ObjectId("599108423268c8e84253be2c"),
"name" : "鄭七",
"sex" : "女",
"age" : 50,
"sal" : 4700,
"loc" : "成都"
}
{
"_id" : ObjectId("599108433268c8e84253be2d"),
"name" : "王八",
"sex" : "男",
"age" : 35,
"sal" : 8000,
"loc" : "北京"
}
範例:查詢年齡大於30歲,或者薪水大於5000的人員資訊
> db.emp.find({"$or":[{"age":{"gt":30}},{"sal":{"$gt":5000}}]}).pretty();
{
"_id" : ObjectId("599108423268c8e84253be29"),
"name" : "李四",
"sex" : "女",
"age" : 30,
"sal" : 7000,
"loc" : "北京"
}
{
"_id" : ObjectId("599108423268c8e84253be2a"),
"name" : "週五",
"sex" : "女",
"age" : 30,
"sal" : 6400,
"loc" : "北京"
}
{
"_id" : ObjectId("599108433268c8e84253be2d"),
"name" : "王八",
"sex" : "男",
"age" : 35,
"sal" : 8000,
"loc" : "北京"
範例:或的求反操作
> db.emp.find({"$nor":[{"age":{"gt":30}},{"sal":{"$gt":5000}}]}).pretty();
{
"_id" : ObjectId("599108423268c8e84253be26"),
"name" : "趙一",
"sex" : "男",
"age" : 30,
"sal" : 1000,
"loc" : "北京"
}
{
"_id" : ObjectId("599108423268c8e84253be27"),
"name" : "錢二",
"sex" : "女",
"age" : 22,
"sal" : 5000,
"loc" : "上海"
}
{
"_id" : ObjectId("599108423268c8e84253be28"),
"name" : "孫三",
"sex" : "男",
"age" : 40,
"sal" : 2000,
"loc" : "深圳"
}
{
"_id" : ObjectId("599108423268c8e84253be2b"),
"name" : "吳六",
"sex" : "男",
"age" : 30,
"sal" : 2500,
"loc" : "重慶"
}
{
"_id" : ObjectId("599108423268c8e84253be2c"),
"name" : "鄭七",
"sex" : "女",
"age" : 50,
"sal" : 4700,
"loc" : "成都"
}
針對於或的操作可以實現一個求反的功能。
在這幾個邏輯運算當中,與的連線最簡單,而或的連線需要為資料設定陣列的過濾條件。
範例:查詢年齡在20~30歲的人員資訊
> db.emp.find({"age":{"$gte":20,"$lte":30}}).pretty();
{
"_id" : ObjectId("599108423268c8e84253be26"),
"name" : "趙一",
"sex" : "男",
"age" : 30,
"sal" : 1000,
"loc" : "北京"
}
{
"_id" : ObjectId("599108423268c8e84253be27"),
"name" : "錢二",
"sex" : "女",
"age" : 22,
"sal" : 5000,
"loc" : "上海"
}
{
"_id" : ObjectId("599108423268c8e84253be29"),
"name" : "李四",
"sex" : "女",
"age" : 30,
"sal" : 7000,
"loc" : "北京"
}
{
"_id" : ObjectId("599108423268c8e84253be2a"),
"name" : "週五",
"sex" : "女",
"age" : 30,
"sal" : 6400,
"loc" : "北京"
}
{
"_id" : ObjectId("599108423268c8e84253be2b"),
"name" : "吳六",
"sex" : "男",
"age" : 30,
"sal" : 2500,
"loc" : "重慶"
在進行邏輯運算的時候“and”的連線是最容易的,因為只需要利用“,”分隔若干條件就可以了。
範例:查詢年齡不是30的人員
> db.emp.find({"age":{"$ne":30}}).pretty();
{
"_id" : ObjectId("599108423268c8e84253be27"),
"name" : "錢二",
"sex" : "女",
"age" : 22,
"sal" : 5000,
"loc" : "上海"
}
{
"_id" : ObjectId("599108423268c8e84253be28"),
"name" : "孫三",
"sex" : "男",
"age" : 40,
"sal" : 2000,
"loc" : "深圳"
}
{
"_id" : ObjectId("599108423268c8e84253be2c"),
"name" : "鄭七",
"sex" : "女",
"age" : 50,
"sal" : 4700,
"loc" : "成都"
}
{
"_id" : ObjectId("599108433268c8e84253be2d"),
"name" : "王八",
"sex" : "男",
"age" : 35,
"sal" : 8000,
"loc" : "北京"
}
範例:查詢年齡大於30歲,或者薪水大於5000的人員資訊
> db.emp.find({"$or":[{"age":{"gt":30}},{"sal":{"$gt":5000}}]}).pretty();
{
"_id" : ObjectId("599108423268c8e84253be29"),
"name" : "李四",
"sex" : "女",
"age" : 30,
"sal" : 7000,
"loc" : "北京"
}
{
"_id" : ObjectId("599108423268c8e84253be2a"),
"name" : "週五",
"sex" : "女",
"age" : 30,
"sal" : 6400,
"loc" : "北京"
}
{
"_id" : ObjectId("599108433268c8e84253be2d"),
"name" : "王八",
"sex" : "男",
"age" : 35,
"sal" : 8000,
"loc" : "北京"
範例:或的求反操作
> db.emp.find({"$nor":[{"age":{"gt":30}},{"sal":{"$gt":5000}}]}).pretty();
{
"_id" : ObjectId("599108423268c8e84253be26"),
"name" : "趙一",
"sex" : "男",
"age" : 30,
"sal" : 1000,
"loc" : "北京"
}
{
"_id" : ObjectId("599108423268c8e84253be27"),
"name" : "錢二",
"sex" : "女",
"age" : 22,
"sal" : 5000,
"loc" : "上海"
}
{
"_id" : ObjectId("599108423268c8e84253be28"),
"name" : "孫三",
"sex" : "男",
"age" : 40,
"sal" : 2000,
"loc" : "深圳"
}
{
"_id" : ObjectId("599108423268c8e84253be2b"),
"name" : "吳六",
"sex" : "男",
"age" : 30,
"sal" : 2500,
"loc" : "重慶"
}
{
"_id" : ObjectId("599108423268c8e84253be2c"),
"name" : "鄭七",
"sex" : "女",
"age" : 50,
"sal" : 4700,
"loc" : "成都"
}
針對於或的操作可以實現一個求反的功能。
在這幾個邏輯運算當中,與的連線最簡單,而或的連線需要為資料設定陣列的過濾條件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28536251/viewspace-2144294/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL-基礎語法 - 條件查詢 - 邏輯運算SQL
- MongoDB 怎麼計運算元查詢MongoDB
- Python邏輯運算Python
- 二、python的邏輯運算與資料型別Python資料型別
- day14.邏輯運算,位運算
- mongodb 查詢條件,查詢邏輯對照表,邏輯運算子,正規表示式匹配查詢,排序,分頁/巧分頁,更新運算子,更新單個/多個文件,刪除文件,批次插入,$type運算子,ObjectId生成器,內嵌文件和陣列查詢修改MongoDB排序Object陣列
- MongoDB資料庫中查詢資料(下)MongoDB資料庫
- 在MongoDB資料庫中查詢資料(上)MongoDB資料庫
- Python全棧MongoDB資料庫(資料的查詢)Python全棧MongoDB資料庫
- Python全棧 MongoDB 資料庫(資料的查詢)Python全棧MongoDB資料庫
- Sympy玩轉邏輯符號運算符號
- oracle邏輯備份之--資料泵Oracle
- 邏輯運算子
- 從根上理解elasticsearch(lucene)查詢原理(1)-lucece查詢邏輯介紹Elasticsearch
- MongoDB 邏輯備份工具mongodumpMongoDB
- MongoDB 邏輯還原工具mongorestoreMongoDBREST
- mysql注入方法邏輯運算及常用函式MySql函式
- python學習----誰在說謊邏輯運算Python
- web前端學習教程,掌握核心邏輯運算Web前端
- 列舉位邏輯運算從懵懂到似懂非懂
- MongoDB - 聚合查詢MongoDB
- python資料庫-mongoDB的高階查詢操作(55)Python資料庫MongoDB
- SCSS 邏輯運算子CSS
- 4、邏輯運算子
- 好程式設計師web前端分享邏輯運算程式設計師Web前端
- 計算機最基礎的部分:運算邏輯電路(ALU)計算機
- 資料庫全表查詢之-分頁查詢優化資料庫優化
- ❖ MongoDB 高階查詢MongoDB
- mongodb慢查詢分析MongoDB
- Mongodb高階查詢MongoDB
- MongoDB查詢條件MongoDB
- MongoDB查詢總結MongoDB
- java程式碼執行字串中的邏輯運算方法Java字串
- C語言基礎-1、邏輯型別和運算C語言型別
- JavaScript || 邏輯或運算子JavaScript
- JavaScript && 邏輯與運算子JavaScript
- JavaScript ! 邏輯非運算子JavaScript
- iOS Swift邏輯運算子iOSSwift
- 機器學習之邏輯迴歸:計算概率機器學習邏輯迴歸