首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB -如何从集合中只检索一个特定的文档

MongoDB -如何从集合中只检索一个特定的文档
EN

Stack Overflow用户
提问于 2022-03-03 02:44:23
回答 1查看 421关注 0票数 0

我创建了一个名为"Cars“的数据库,其中包含一个名为"Cars_info”的集合。我在其中插入了8份文件如下。

代码语言:javascript
复制
db.Cars_info.insertMany([
  { car_id: "c1", Company: "Toyota", Model: "Aqua", Year: 2020, Price_in_usd: 25000, Category: "High-end", Country: "Japan" },
  { car_id: "c2", Company: "Toyota", Model: "Premio", Year: 2019, Price_in_usd: 35000, Category: "High-end", Country: "Japan" },
  { car_id: "c3", Company: "Audi", Model: "A6", Year: 2020, Price_in_usd: 55000, Category: "High-end", Country: "Germany" },
  { car_id: "c4", Company: "Tata", Model: "Nano", Year: 2015, Price_in_usd: 10000, Category: "Low-end", Country: "India" },
  { car_id: "c5", Company: "Volkswagen", Model: "Taos", Year: 2022, Price_in_usd: 35000, Category: "High-end", Country: "Germany" },
  { car_id: "c6", Company: "Ford", Model: "Figo", Year: 2019, Price_in_usd: 26000, Category: "High-end", Country: "America" },
  { car_id: "c7", Company: "Mahindra", Model: "Thar", Year: 2018, Price_in_usd: 18000, Category: "Low-end", Country: "India" },
  { car_id: "c8", Company: "Honda", Model: "Vezel", Year: 2015, Price_in_usd: 33000, Category: "High-end", Country: "Japan" }
])

在这里,我只想从集合中检索第三个文档。但没有匹配任何字段值。喜欢,

代码语言:javascript
复制
db.Cars_info.find({"car_id":"c3"}).pretty()

有办法这样做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-03 02:55:44

你需要.skip().limit()

通过开始索引:2来获取文档,并且只有一个文档,这是第三个文档。

Update:感谢并赞扬@Wernfried指出,您需要.sort()来保证获得文档的第n位。对于您的场景,您必须按照car_id进行排序。

排序一致性

MongoDB不按特定顺序将文档存储在集合中。对包含重复值的字段进行排序时,可以按任何顺序返回包含这些值的文档。

代码语言:javascript
复制
db.Cars_info.find()
  .sort({ "car_id": 1 })
  .skip(2)
  .limit(1)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71331535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档