—————— MongoDB 查询数据
db.collection.find(query, projection)
易读的方式来读取数据,可以使用 pretty() 方法
> db.col.find().pretty()
{
"_id" : ObjectId("5be47e7440f8d8badb52918e"),
"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "描述",
"url" : "http://www.mongo.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
—————— 通过 by 和 title 键来查询
> db.col.find({"by":"描述", "title":"MongoDB 教程"}).pretty()
{
"_id" : ObjectId("5be47e7440f8d8badb52918e"),
"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "描述",
"url" : "http://www.mongo.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
类似于 WHERE 语句:WHERE by='描述' AND title='MongoDB 教程'
—————— MongoDB OR 条件
使用关键字 $or,查询键 by 值为 描述 或键 title 值为 MongoDB 教程 的文档
> db.col.find({$or:[{"by":"描述"},{"title": "MongoDB 教程"}]}).pretty()
{
"_id" : ObjectId("5be47e7440f8d8badb52918e"),
"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "描述",
"url" : "http://www.mongo.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
—————— AND 和 OR 联合使用
类似常规 SQL 语句为: 'where likes>50 AND (by = '描述' OR title = 'MongoDB 教程')'
> db.col.find({"likes": {$gt:50}, $or: [{"by": "描述"},{"title": "MongoDB 教程"}]}).pretty()
{
"_id" : ObjectId("5be47e7440f8d8badb52918e"),
"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "描述",
"url" : "http://www.mongo.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
——————