MongoDB 查询文档

—————— 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
}

—————— 

 

你可能感兴趣的:(NoSQL)