MongoDB 条件查询语句是 MongoDB 中最常用的查询方式,它可以根据指定的条件来查询数据库中的文档。MongoDB 条件查询语句使用 find() 方法,find() 方法可以传入一个包含多个键值对的文档,这些键值对就是我们要设置的条件。
db.collection.find({key1: value1, key2: value2, ...})
例如,我们想要在 users 集合中找出 age 大于 18 的文档,则可以使用如下代码:
db.users.find({age: {$gt: 18}}) // $gt 表示大于
MongoDB 还提供了多种条件操作符,例如 $lt 表示小于、$gte 表示大于等于、$in 表示在一个范围内、$ne 表示不等于、$or 表示或者、$and 表示并且。这些条件操作符都可以用来实现复杂的条件查询。
条件操作符用于比较两个表达式并从mongoDB集合中获取数据。
在本章节中,我们将讨论如何在MongoDB中使用条件操作符。
MongoDB中条件操作符有:
我们使用的数据库名称为"db" 我们的集合名称为"col",以下为我们插入的数据。
为了方便测试,我们可以先使用以下命令清空集合 "col" 的数据:
db.col.remove({})
插入以下数据
>db.col.insert({
title: "PHP 教程",
description: "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。",
by: "",
url: "http://www..cn",
tags: ["php"],
likes: 200
})
>db.col.insert({title: "Java 教程",
description: "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。",
by: "",
url: "http://www..cn",
tags: ["java"],
likes: 150
})
>db.col.insert({title: "MongoDB 教程",
description: "MongoDB 是一个 Nosql 数据库",
by: "",
url: "http://www..cn",
tags: ["mongodb"],
likes: 100
})
使用find()
命令查看数据:
> db.col.find()
{ "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "", "url" : "http://www..cn", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "", "url" : "http://www..cn", "tags" : [ "java" ], "likes" : 150 }
{ "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "", "url" : "http://www..cn", "tags" : [ "mongodb" ], "likes" : 100 }
如果你想获取 "col" 集合中 "likes" 大于 100 的数据,你可以使用以下命令:
db.col.find({"likes" : {$gt : 100}})
类似于SQL语句:
Select * from col where likes > 100;
输出结果:
> db.col.find({"likes" : {$gt : 100}})
{ "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "", "url" : "http://www..cn", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "", "url" : "http://www..cn", "tags" : [ "java" ], "likes" : 150 }
>
如果你想获取"col"集合中 "likes" 大于等于 100 的数据,你可以使用以下命令:
db.col.find({likes : {$gte : 100}})
类似于SQL语句:
Select * from col where likes >=100;
输出结果:
> db.col.find({likes : {$gte : 100}})
{ "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "", "url" : "http://www..cn", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "", "url" : "http://www..cn", "tags" : [ "java" ], "likes" : 150 }
{ "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "", "url" : "http://www..cn", "tags" : [ "mongodb" ], "likes" : 100 }
>
如果你想获取"col"集合中 "likes" 小于 150 的数据,你可以使用以下命令:
db.col.find({likes : {$lt : 150}})
类似于SQL语句:
Select * from col where likes < 150;
输出结果:
> db.col.find({likes : {$lt : 150}})
{ "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "", "url" : "http://www..cn", "tags" : [ "mongodb" ], "likes" : 100 }
如果你想获取"col"集合中 "likes" 小于等于 150 的数据,你可以使用以下命令:
db.col.find({likes : {$lte : 150}})
类似于SQL语句:
Select * from col where likes <= 150;
输出结果:
> db.col.find({likes : {$lte : 150}})
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "", "url" : "http://www..cn", "tags" : [ "java" ], "likes" : 150 }
{ "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "", "url" : "http://www..cn", "tags" : [ "mongodb" ], "likes" : 100 }
如果你想获取"col"集合中 "likes" 大于100,小于 200 的数据,你可以使用以下命令:
db.col.find({likes : {$lt :200, $gt : 100}})
类似于SQL语句:
Select * from col where likes>100 AND likes<200;
输出结果:
> db.col.find({likes : {$lt :200, $gt : 100}})
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "", "url" : "http://www..cn", "tags" : [ "java" ], "likes" : 150 }
>
在本章中,我们将了解如何从Access导出数据。数据导出实际上与导入数据相反。在导入数据时,我们从Access中提取其他格式的数据,...
在本章中,我们将介绍如何在Access中的一组记录上进行计算。我们创建了一个字段,用于计算逐行或按记录创建行总计或小计字段,但...
在Access中,有另一个非常有用的向导,并且是查找不匹配的查询向导。查找不匹配的查询向导将创建查找一个表中在另一个表中没有相...
Access 数据库不是与 Microsoft Office Word 文档或 Microsoft Office PowerPoint 同义的文件。相反,Access 数据库是表,窗体,...
在本章中,我们将学习如何在表中插入数据。 将数据插入表需要INSERT命令。 该命令的一般语法是INSERT,后跟表名,字段和值。 查...