MongoDB的查询

普通查询

对表myTable,查询所有记录:

//方法一:
db.getCollection("myTable").find({})
//方法二:
db.myTable.find({})

对表myTable,查询所有记录,并按照字段myKey逆序排序:

db.getCollection("myTable").find({}).sort({"myKey":-1})

对表myTable,查询所有记录,并按照字段myKey1逆序排序,myKey2升序排序:

db.getCollection("myTable").find({}).sort({"myKey1":-1,"myKey2":1})

对表myTable,查询匹配某一字段的所有记录:

db.myTable.find({ <field>: <value> })

模糊查询

通过在模糊查询关键词两侧加斜杠的方式(值的两端无需引号),对某一字段的值进行模糊查询的匹配:

db.myTable.find({"mykey": /sub_value/})

嵌套查询

根据官方文档:https://docs.mongodb.com/manual/tutorial/query-embedded-documents/#std-label-read-operations-embedded-documents
什么是嵌套文档,举例:

[
    { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
    { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
    { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
    { item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
    { item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
]

比如要匹配size字段中uom字段为cm的记录,可以用如下方法查询到所有符合条件的记录:

db.myTable.find{ "size.uom": "in" }

也可以利用查询操作符(Query Operator),语法为:

db.myTable.find{ <field1>: { <operator1>: <value1> }, ... }

具体的查询操作符有:

  • 等于:$eq
  • 小于:$lt
  • 大于:$gt
  • 小于等于:$lte
  • 大于等于:$gtes

还可以在多个并列条件下查询,各个条件通过逗号隔开:

db.myTable.find{ "size.h": { $lt: 15 }, "size.uom": "in", status: "D" }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值