【问题标题】:How do I query using Mongoose, but then take that document to do other things?如何使用 Mongoose 进行查询,然后拿该文档做其他事情?
【发布时间】:2011-08-14 10:05:03
【问题描述】:
User.findOne({}, function(err, doc){
   //do stuff with "doc" here.
});

这就是我目前的做法。但是,如果我想拿“doc”,然后做点什么。

User.findOne({}, function(err, doc){
   //do stuff with "doc" here.
});
runAnotherFunction(doc.name)
doc...

如何将“doc”从“function”部分中取出?

【问题讨论】:

    标签: javascript mongodb node.js mongoose


    【解决方案1】:

    Node 是事件驱动的,它不是您可能习惯的程序代码。在 mongoose 可以完成检索记录之前,已经可以很好地通过调用 findOne。需要对文档进行的任何操作都应该在回调中进行(“函数”部分)。

    【讨论】:

    • 那么,我不能将“doc”的内容从回调部分中取出吗?如果我需要获取该人的性别,并在回调之外使用它....
    • @TIMEX 看看Step,这会强制在 Node 中进行序列化执行。
    • John,有没有让我思考 node.js 方式的教程?我现在正在考虑程序性,我不知道如何编写非程序性。
    【解决方案2】:

    你可以试试“step”, https://github.com/creationix/step

    这样更容易控制逻辑流。

    例如看这个:

    async nodejs querying and processing results

    【讨论】:

    • Step 适用于您需要控制流的情况,但请记住,如果您过度使用它,那么使用事件驱动语言的意义何在。
    • @JohnD 我同意,我不太了解 NodeJS
    猜你喜欢
    • 2015-11-01
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 2013-05-04
    相关资源
    最近更新 更多