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

就地更改Mongodb查询结果[重复]

洪弘亮
2023-03-14

这家餐厅是猫鼬的典范。我试图在适当的地方改变事情,但没有成功:

  Restaurant.find({}, function(err, results) {
    for (var i = 0; i < results.length; i++) {
      delete results[i].__v;
  }

我认为结果[i]是一个模型对象。我试图看到检查属性描述符与以下内容,它说未定义

console.log(JSON.stringify(Object.getOwnPropertyDescriptor(results[i], '__v')));

为什么删除对象不起作用?为什么我看不到属性描述符?

编辑:所以这是一个猫鼬文件。但是,用Javascript术语来说,像Mongoose文档这样的对象可以基于Javascript对象以外的其他对象吗?一些基于内部C代码的包装器还是什么?

共有1个答案

淳于健
2023-03-14

results不是Javascript对象,因此不能使用remove

您可以使用结果在Javascript对象中进行转换。toObject()doc

或者您可以执行Restaurant.find({},{leed: true}doc

然后你可以做删除结果[i]__五,

 类似资料:
  • 我在用猫鼬。我正在执行查找查询,但无法修改查询结果。

  • 查询结果的重打分 有些应用场景中,对查询语句的结果文档进行重新打分是很有必要的。重新打分的原因可能会各不相同。其中的一个原因可能是出于性能的考虑,比如,对整个有序的结果集进行重排序开销会很大,通常就会只对结果集的子集进行处理。可以想象重打分在业务中应用会相当广泛。接下来了解一下这项功能,学习如何将它应用在业务中。 理解重打分 在ElasticSearch中,重打分是一个对限定数目的查询结果进行再次

  • 要运行查询,在工具栏中点击 运行 。如果查询语句是正确的,该查询将被运行,如果该查询应该返回数据,结果 选项卡会打开查询返回的数据。如果运行查询时发生错误,运行停止,显示相应的错误信息。 结果 选项卡以网格显示查询返回的结果数据。数据可以用两种模式显示:网格查看 和 表单查看。详细信息请看表查看 器。 提示:Navicat 支持返回 10 个结果集。 注意:你可以通过选择 查看 -> 显示结果 -

  • 你可以在任何的服务器运行查询。在工具栏的下拉式列表中选择目标服务器和数据库。然后点击 “运行”。如果该查询语句是正确的,它将被运行。如果该查询应该返回数据,“结果”选项卡会打开并显示返回的数据。如果运行查询时发生错误,运行会停止并显示相应的错误信息。 “结果”选项卡以网格显示查询返回的结果数据。数据可以用三种模式显示:网格视图、树视图和 JSON 视图。详细信息请参阅数据查看器。 【注意】Navi

  • 你可以在任何的服务器运行查询。在工具栏的下拉式列表中选择目标服务器、数据库和/或模式。然后点击 “运行”。如果该查询语句是正确的,它将被运行。如果该查询应该返回数据,“结果”选项卡会打开并显示返回的数据。如果运行查询时发生错误,运行会停止并显示相应的错误信息。 “结果”选项卡以网格显示查询返回的结果数据。数据可以用两种模式显示:网格视图和表单视图。详细信息请参阅数据查看器。 【注意】Navicat

  • 你可以在任何的服务器运行查询。在工具栏的下拉式列表中选择目标服务器和数据库。然后点击 。如果该查询语句是正确的,它将被运行。如果该查询应该返回数据,“结果”选项卡会打开并显示返回的数据。如果运行查询时发生错误,运行会停止并显示相应的错误信息。 “结果”选项卡以网格显示查询返回的结果数据。数据可以用三种模式显示:网格视图、树视图和 JSON 视图。详细信息请参阅数据查看器。 【注意】Navicat