Mongo 简单查询

本文介绍了 MongoDB 的基本数据插入、查询和格式化输出的方法。包括使用 ObjectId 查找特定记录,根据多个条件进行精准和模糊查询,以及如何显示或隐藏查询结果中的特定字段。示例展示了如何使用 $and 和 $or 操作符进行复杂查询操作。
摘要由CSDN通过智能技术生成

插入用来测试的数据

db.inventory.insertMany([
{ item: "journal", qty: 25, status: "A", size: { h: 14, w: 21, uom: "cm" }, tags:[ "blank", "red" ] },
{ item: "notebook", qty: 50, status: "A", size: { h: 8.5, w: 11, uom: "in" }, tags: [ "red", "blank" ] },
{ item: "paper", qty: 10, status: "D", size: { h: 8.5, w: 11, uom: "in" }, tags:[ "red", "blank", "plain" ] },
{ item: "planner", qty: 0, status: "D", size: { h: 22.85, w: 30, uom: "cm" }, tags: [ "blank", "red" ] },
{ item: "postcard", qty: 45, status: "A", size: { h: 10, w: 15.25, uom: "cm" }, tags: [ "blue" ]}])

根据id精确查找

db.inventory.find({_id:ObjectId("60d487240b05983cd3c7e55c")})
{ "_id" : ObjectId("60d487240b05983cd3c7e55c"), "item" : "notebook", "qty" : 50, "status" : "A", "size" : { "h" : 8.5, "w" : 11, "uom" : "in" }, "tags" : [ "red", "blank" ] }

查找后格式化输出

> db.inventory.find({_id:ObjectId("60d487240b05983cd3c7e55c")}).pretty()
{
	"_id" : ObjectId("60d487240b05983cd3c7e55c"),
	"item" : "notebook",
	"qty" : 50,
	"status" : "A",
	"size" : {
		"h" : 8.5,
		"w" : 11,
		"uom" : "in"
	},
	"tags" : [
		"red",
		"blank"
	]
}

多个条件查询

> db.inventory.find({"status":"D","qty":0})
{ "_id" : ObjectId("60d487240b05983cd3c7e55e"), "item" : "planner", "qty" : 0, "status" : "D", "size" : { "h" : 22.85, "w" : 30, "uom" : "cm" }, "tags" : [ "blank", "red" ] }

查询结果显示和不显示某个字段Size

> db.inventory.find({"status":"D","qty":0},{size:1})
{ "_id" : ObjectId("60d487240b05983cd3c7e55e"), "size" : { "h" : 22.85, "w" : 30, "uom" : "cm" } }
> db.inventory.find({"status":"D","qty":0},{size:0})
{ "_id" : ObjectId("60d487240b05983cd3c7e55e"), "item" : "planner", "qty" : 0, "status" : "D", "tags" : [ "blank", "red" ] }
> db.inventory.find({"status":"D","qty":0},{_id:0,size:0})
{ "item" : "planner", "qty" : 0, "status" : "D", "tags" : [ "blank", "red" ] }

使用and 条件查询

> db.inventory.find({$and:[{"status":"D"},{"qty":0}]})
{ "_id" : ObjectId("60d487240b05983cd3c7e55e"), "item" : "planner", "qty" : 0, "status" : "D", "size" : { "h" : 22.85, "w" : 30, "uom" : "cm" }, "tags" : [ "blank", "red" ] }

使用or条件查询

> db.inventory.find({$or:[{"status":"D"},{"qty":25}]})
{ "_id" : ObjectId("60d487240b05983cd3c7e55b"), "item" : "journal", "qty" : 25, "status" : "A", "size" : { "h" : 14, "w" : 21, "uom" : "cm" }, "tags" : [ "blank", "red" ] }
{ "_id" : ObjectId("60d487240b05983cd3c7e55d"), "item" : "paper", "qty" : 10, "status" : "D", "size" : { "h" : 8.5, "w" : 11, "uom" : "in" }, "tags" : [ "red", "blank", "plain" ] }
{ "_id" : ObjectId("60d487240b05983cd3c7e55e"), "item" : "planner", "qty" : 0, "status" : "D", "size" : { "h" : 22.85, "w" : 30, "uom" : "cm" }, "tags" : [ "blank", "red" ] }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值