当前位置: 首页 > 知识库问答 >
问题:

包括MongoDB"_id"字段在投影与猫鼬

呼延聪
2023-03-14

我正在使用Node.js和Mongoose检索Mongo文档,如下所示:

var app = express();
var Thread = mongoose.model('threads', schema);
app.get('/api/closed/all', function(req, res) {
    Thread.find({ IsCLOSED: true }, function(err, post){
        res.send(post);
    });
});

但它没有返回“_id”字段,我遗漏了什么?

在文档中,它说默认情况下应该包括_id

谢谢

**编辑**

解决方案:我必须在模式中指定它:

var schema=新猫鼬。模式({u id:String……。});

共有1个答案

凌博实
2023-03-14

如果手动创建,\u id不是,并且对象。默认情况下,mongoose假定\u id是一个对象id。如果希望能够获取手动创建的ID,则需要在模式中指定该ID。

如果\u id是一个数字,则必须在模式中明确指定。

schema= new Schema({
            _id: Number
        }),

var Thread = mongoose.model('threads', schema);
 类似资料:
  • MongoDB 中的投影即查询指定的字段,而不是直接查询文档的全部字段。比如说某个文档中有 5 个字段,而我们只需要其中的 3 个字段,那么就可以使用 MongoDB 中的投影来指定需要查询的 3 个字段。 在《 MongoDB查询文档》一节中我们介绍的 find() 方法,在使用 find() 方法时,如果不设置其中的第二个参数,那么在查询时将返回文档中的所有字段,想要限制要查询的字段,您就需要

  • 这只有两种方式: 具有qdoc.id:存在,为空 不带qdoc.id:为空,存在 我已经检查过的内容:当我在Postgres客户机中运行Hibernate查询时,它总是带来字段。Bot在这两种情况下都存在。

  • 问题内容: 尝试按照此处的示例通过使用投影排除_id进行过滤。_id仍然返回: 码 结果仍然返回如下: [{_id:5a2bb2d6ee48575cb54c4365,名称:“约翰”,地址:“ Highway 71”},{_id:5a2bb2d6ee48575cb54c436d,名称:“苏珊”,地址:“单向98”},…。{_id:5a2bb2d6ee48575b :’Chuck’,地址:’Main

  • 本文向大家介绍MongoDB聚合和投影,包括了MongoDB聚合和投影的使用技巧和注意事项,需要的朋友参考一下 为此,请使用$project和aggregate()。聚合中的$project将带有请求字段的文档传递到管道的下一个阶段。 让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是对MongoDB聚合和投影的查询- 这将产生以下输出-

  • 本文向大家介绍mongoDB使用投影剔除‘额外’字段的操作过程,包括了mongoDB使用投影剔除‘额外’字段的操作过程的使用技巧和注意事项,需要的朋友参考一下 简介 实际开发过程中,为便于开发人员定位问题,常存在多个额外的字段。例如:增加createdAt、updatedAt字段以查看数据的创建和更改时间。而对于客户端而言,无需知道其存在。针对以上情况,本文详细介绍了“额外”字段的用途以及处理过程

  • 我已经为此挣扎了好几天了。我们刚刚开始与mongoDB合作,因此我对它的了解非常有限。 总之,我想做的是:我们有一个叫做Loan的课程,就像这样: 由于查询此集合时必须执行各种操作,因此我们在LoanRepository中创建了一个聚合(该聚合适用于我们在Mongo Compass中创建的,然后将其导出到我们的代码中): 这个想法是,在所有上述操作之后,我们只需要从整个Loans表中返回一些字段(