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

有没有办法在插入文档后立即返回文档?

端木明贤
2023-03-14

我目前正在尝试返回我刚刚添加到集合中的文档,以便在我的主页上实时显示它。

我遵循了我在这里找到的解决方案:链接到2018年解决方案。但是这个解决方案似乎不适用于最新的node.js和MongoDb版本。

我基本上是在尝试做与那篇文章中的人尝试做的相同的事情,但我得到了以下错误:

res.json (info.ops[0]);
TypeError: Cannot read property '0' of undefined

这是我的代码供参考:

app.post('create-item', (req, res) => {
dB.collection('items').insertOne({text: req.body.text}, (err, info) => {
res.json(info.ops[0]);});});

共有1个答案

濮阳品
2023-03-14

当我们将insertOne与Nodejs驱动程序4(最新版本)一起使用时,我们会得到类似
{“确认”:true,“insertedId”:#object[ObjectId 61105622b633ecabf3706782]}

在插入文档之前,将其保存到变量中
如果文档具有\u id,请检查文档是否已插入并从变量获取文档
如果文档没有\u id,请检查文档是否已插入,并从响应中获取\u id,然后将该\u id添加到变量中的文档中。

也许我遗漏了一些东西,但如果这是你需要的,那么上面的内容很简单。

 类似资料:
  • 我只是想知道我是否有可能返回activePodcastViewData。每当我试图在GlobalScopeactivePodcastViewData.Without调用它时,我都不允许返回,我确实让一切正常工作fine.However我更新了我的存储库,将挂起方法添加到it.Hence我正在获取挂起函数应该只从协程或另一个挂起函数调用。 fun getPodcast(podcastSummaryV

  • 我需要向MongoDB插入一个文档并返回新插入的文档。我用了db。集合(“集合名称”)。insertOne(“要插入的数据”)。然后((res)= 错误:未定义ops。 insertOne只返回插入文档的_id,而不是整个文档☹ 但早些时候,它通常返回整个文档。我使用了mongoclient而不是mongoose,在mongoose中它返回整个文档,但我不喜欢使用mongoose。

  • 我已阅读此文档 所以我尝试了这个实验 它返回这个 我检查了我的值或@@DATEFIRST 它返回< code>7 那么,为什么我没有得到文件中描述的结果呢? 编辑 这是我在文档中看到的

  • 问题内容: 我想知道为什么搜索特定术语会返回索引的所有文档,而不返回包含所请求术语的文档。 这是索引以及我的设置方法:(使用elasticsearch头插件浏览器界面) 然后我添加了一些文档: 因此,现在触发“ plaat”搜索时,人们会希望搜索会返回包含“ plaatstaal”的文档。 但是为我节省了更多的搜索,elasticsearch会恢复所有文档的大小,无论其文本内容如何。我在这里想念什

  • 问题内容: 我想将背景URL存储在自定义属性(CSS变量)中,并将其与background属性一起使用。但是,当使用字符串作为参数时,我找不到插值的方法。 这是我的示例代码: 我知道可以使用插值函数在Sass或LESS中轻松完成此操作,但我很好奇是否有一种无需任何预处理器的方法。 问题答案: 您可以使用大多数CSS函数执行插值,包括的示例。实际上,插值是自定义属性的主要功能之一。 但是,您不能使用

  • 问题内容: 我有一个方法返回基类的集合: 由于()的返回类型与方法()的返回类型不匹配,因此无法编译。我理解为什么会这样:由于泛型类型不同,所以两个类之间没有继承关系。 有很多方法可以解决编译器错误,从将方法的返回类型更改为不使用Arrays.asList并将派生对象之一转换为Base。 当解析Arrays.asList调用的通用类型时,有没有办法告诉编译器使用其他但兼容的类型?(我一直在尝试使用