MongoDB数据查询

    xiaoxiao2024-03-17  20

    1、find函数的介绍和使用 MongoDB数据查询使用find函数,其功能与SQL中的select函数相同,可提供与关系型数据库类似的许多功能,包括映射、排序等。

    db.集合名.find(query,fields,limit,skip) query指查询条件,相当于SQL中的where语句。 例如: db.student.find({name:"joe","age":{$lt:22}}) fields用于字段映射(projection)语法格式:{field:0} 例如:db.student.find({"age":{$lt:22}},{"_id":0,"name":1})

    limit用于限制查询结果集的文档数量。 skip用于跳过一定数据量的结果,设置第一条返回文档的偏移量。 需要注意: 不支持多集合间的连接查询,find函数一次查询只能针对一个集合。 find函数参数为空或者查询条件为空文档时,会返回集合中的所有文档,例如:db.student.find() 或 db.student.find({}) 除了将limit和skip作为find函数的参数外,还可以单独使用limit和skip函数来修饰查询结果。 查询结果默认是无序的,如果需要对结果进行排序,可以使用sort函数。 findOne()只会返回第一条数据。 当查询的结果文档数量很大时,为了加快数据查询的速度可以创建索引。 除了使用find函数实现基本查询外,MongoDB还提供了聚合框架,用于复杂查询。 2、比较查询符

    $eq/$ne 等于/不等于 $gt/$gte 大于/大于等于 $lt/$lte 小于/小于等于 $in/$nin 包含/不包含

    3、逻辑查询操作符 可连接多个查询条件,用于逻辑与、或、非以及取反操作。

    $and$or$nor$not 取反

    4、元素查询操作符

    $exits 按照字段是否存在来查询文档 $type 选择字段值为指定的BSON数据类型编号的文档 $where操作符功能强大且灵活,它可以将JavaScript表达式的字符串或JavaScript函数作为查询语句的一部分。在JavaScript表达式和函数中,可以使用this或obj来引用当前操作的文档。 例如: db.collection.find({ $where:"this.credits==this.debits"}) JavaScript表达式或函数返回true时,才会返回当前文档。 查询时,$where 操作符不能使用索引,每个文档需要从BSON对象转换成JavaScript对象后,才能通过$where表达式来运行。因此,它比常规查询要慢很多,一般情况下要避免使用$where查询。 相关资源:敏捷开发V1.0.pptx
    最新回复(0)