如何在mongodb中获取特定的匹配字段值?

时间:2019-01-08 16:27:13

标签: mongodb

我在表格代码下方创建了一个表格。

使用组织

db.test.insert({ bookname : "Mongodb", author : "Alex", price : 45, qty : 100})

db.test.insert({ bookname : "Cassandra", author : "John", price : 75, qty : 75})

现在,当书名是Mongodb时,我需要MongoDb和alex值

在这里我们匹配了书名,只有剩余的作者姓名会自动显示?

2 个答案:

答案 0 :(得分:0)

您所看到的就是投射的影像

db.test.find({ bookname: "mongodb" }, { _id: 0, bookname: 1, author: 1 })


Mongodb文档 https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/

答案 1 :(得分:0)

要获取一个或多个文档,请使用-

db.test.find(<match>, <projection>)

where是过滤部分(SQL中的where子句),并指定要返回结果的键(SQL表中的列)。

要在某些字段上过滤结果,请使用-

db.test.find({ "bookname" : "Mongodb" })

以上命令将导致所有与bookname匹配为Mongodb的作者。 { "bookname" : "Mongodb" }是命令的match部分。您可以像-

一样修改find()命令
db.test.find({ "bookname" : "Mongodb" }, {"bookname": 1, author: 1})

此命令的输出文档将以booknameauthor_id作为键。 {"bookname": 1, author: 1}是您的projection命令的一部分。对于输出中我们想要的每个键,我们将不需要的键分别设置为10

默认情况下,所有键都将输出。如果您为1设置了任何键,则仅返回该键和_id。如果您不希望_id,则在投影中将其设置为0

db.test.find({ "bookname" : "Mongodb" }, {"bookname": 1, author: 1, _id: 0})