我可以在MongoDB中获得Cursor对象中的第一项吗?

是的,您可以使用findOne()方法获得游标对象中的第一项。以下是语法

db.yourCollectionName.findOne();

但是,如果要在光标对象中使用单个文档,则使用以下语法

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
}