我可以获取 MongoDB 中 Cursor 对象中的第一个项目吗?

mongodbdatabasebig data analytics更新于 2026/1/19 21:52:17

可以,您可以使用 findOne() 方法获取 Cursor 对象中的第一个项目。语法如下

db.yourCollectionName.findOne();

但是,如果您希望 Cursor 对象中只有一个文档,则可以使用以下语法

db.yourCollectionName.findOne({yourCondition});

我们首先创建一个集合。以下是创建包含文档的集合的查询语句

> db.getFirstItemDemo.insertOne({"CustomerName":"Chris","CustomerAge":28});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c989059330fd0aa0d2fe4c1")
}
> db.getFirstItemDemo.insertOne({"CustomerName":"Larry","CustomerAge":26});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c989063330fd0aa0d2fe4c2")
}
> db.getFirstItemDemo.insertOne({"CustomerName":"Robert","CustomerAge":29});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c98906d330fd0aa0d2fe4c3")
}
> db.getFirstItemDemo.insertOne({"CustomerName":"David","CustomerAge":39});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c989081330fd0aa0d2fe4c4")
}

以下是借助 find() 方法显示集合中的所有文档的查询

> db.getFirstItemDemo.find().pretty();

这将产生以下输出 −

{
   "_id" : ObjectId("5c989059330fd0aa0d2fe4c1"),
   "CustomerName" : "Chris",
   "CustomerAge" : 28
}
{
   "_id" : ObjectId("5c989063330fd0aa0d2fe4c2"),
   "CustomerName" : "Larry",
   "CustomerAge" : 26
}
{
   "_id" : ObjectId("5c98906d330fd0aa0d2fe4c3"),
   "CustomerName" : "Robert",
   "CustomerAge" : 29
}
{
   "_id" : ObjectId("5c989081330fd0aa0d2fe4c4"),
   "CustomerName" : "David",
   "CustomerAge" : 39
}

以下查询用于获取游标对象中的第一项

> db.getFirstItemDemo.findOne();

将产生以下输出 −

{
   "_id" : ObjectId("5c989059330fd0aa0d2fe4c1"),
   "CustomerName" : "Chris",
   "CustomerAge" : 28
}

以上查询获取游标对象中的第一项。以下查询用于获取游标对象中的单个文档

> db.getFirstItemDemo.findOne({"CustomerAge":39});

这将产生以下输出 −

{
   "_id" : ObjectId("5c989081330fd0aa0d2fe4c4"),
   "CustomerName" : "David",
   "CustomerAge" : 39
}

相关文章