Query Documents

插入多条数据


db.inventory.insertMany([
   { 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" }
]);
# 查询全部数据 类似于sql的  SELECT * FROM inventory
db.inventory.find( {} )


#  美观格式
db.inventory.find({}).pretty()

指定过滤条件 


# 指定过滤条件
{ <field1>: <value1>, ... }

单值查询


# 根据status查询 类似于Sql的 SELECT * FROM inventory WHERE status = "D"
db.inventory.find( { status: "D" } )

多值查询 in


# 多值查询 类似于Sql的 SELECT * FROM inventory WHERE status in ("A", "D")
db.inventory.find( { status: { $in: [ "A", "D" ] } } )

AND查询

# 等价于Sql的 SELECT * FROM inventory WHERE status = "A" OR qty < 30
db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )

OR查询

# 等价于Sql的 SELECT * FROM inventory WHERE status = "A" OR qty < 30
db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )

AND和OR条件组合

# 等价于Sql的 SELECT * FROM inventory WHERE status = "A" AND ( qty < 30 OR item LIKE "p%")

db.inventory.find( {
     status: "A",
     $or: [ { qty: { $lt: 30 } }, { item: /^p/ } ]
} )

正则

# 查询item以p开头的数据
db.inventory.find({item:/^p/})

只查某个字段

# 会返回_id 和 item字段
db.inventory.find({},{item:1})

{ "_id" : ObjectId("5dc4242f4885d7328bb98d0e"), "item" : "journal" }
{ "_id" : ObjectId("5dc4242f4885d7328bb98d0f"), "item" : "notebook" }
{ "_id" : ObjectId("5dc4242f4885d7328bb98d10"), "item" : "paper" }
{ "_id" : ObjectId("5dc4242f4885d7328bb98d11"), "item" : "planner" }
{ "_id" : ObjectId("5dc4242f4885d7328bb98d12"), "item" : "postcard" }

# 只返回item
db.inventory.find({},{item:1,_id:0})

{ "item" : "journal" }
{ "item" : "notebook" }
{ "item" : "paper" }
{ "item" : "planner" }
{ "item" : "postcard" }

发布了505 篇原创文章 · 获赞 41 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/kq1983/article/details/102930134