最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

保存后填充

IT培训 admin 4浏览 0评论

保存后填充

我有这样的代码:

message.save().then(message => {
    let result = {
        ok: true,
        message
    }
    res.send(result);
})

这给出了这样的JSON:

{
    "ok": true,
    "message": {
        "_id": "5c5fe65236bcc31eb0a3db46",
        "from": "5c5f1f1c4042b431d4611127",
        "to": "5c5f201b4042b431d4611128",
        "message": "Con imagen",
        "image": "img/1549788754143.jpg",
        "sent": "2019-02-10T08:52:34.144Z",
        "__v": 0
    }
}

我想从外地填充,这是做的最好的方法是什么?我只用填入后.find(),我找不到任何办法做到这一点。

.save()不允许你使用.populate()

回答如下:

这工作:

message.save().then(savedMessage => {
            Message.findById(savedMessage._id).populate('from').then(data => {
                let result = {
                    ok: true,
                    data
                }
                res.send(result);
            })
        })

.save()没有方法.populate(),所以这一招能够在Web服务,这是非常有用的返回填充的字段。

这个Web服务返回的JSON现在是这样的:

{
    "ok": true,
    "data": {
        "_id": "5c60791c834b900bf0383440",
        "from": {
            "_id": "5c5f1f1c4042b431d4611127",
            "name": "admin",
            "password": "03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4",
            "image": "img/1549737756964.jpg",
            "__v": 0
        },
        "to": "5c5f201b4042b431d4611128",
        "message": "Con imagen",
        "image": "img/1549826332017.jpg",
        "sent": "2019-02-10T19:18:52.018Z",
        "__v": 0
    }
}

保存后填充

我有这样的代码:

message.save().then(message => {
    let result = {
        ok: true,
        message
    }
    res.send(result);
})

这给出了这样的JSON:

{
    "ok": true,
    "message": {
        "_id": "5c5fe65236bcc31eb0a3db46",
        "from": "5c5f1f1c4042b431d4611127",
        "to": "5c5f201b4042b431d4611128",
        "message": "Con imagen",
        "image": "img/1549788754143.jpg",
        "sent": "2019-02-10T08:52:34.144Z",
        "__v": 0
    }
}

我想从外地填充,这是做的最好的方法是什么?我只用填入后.find(),我找不到任何办法做到这一点。

.save()不允许你使用.populate()

回答如下:

这工作:

message.save().then(savedMessage => {
            Message.findById(savedMessage._id).populate('from').then(data => {
                let result = {
                    ok: true,
                    data
                }
                res.send(result);
            })
        })

.save()没有方法.populate(),所以这一招能够在Web服务,这是非常有用的返回填充的字段。

这个Web服务返回的JSON现在是这样的:

{
    "ok": true,
    "data": {
        "_id": "5c60791c834b900bf0383440",
        "from": {
            "_id": "5c5f1f1c4042b431d4611127",
            "name": "admin",
            "password": "03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4",
            "image": "img/1549737756964.jpg",
            "__v": 0
        },
        "to": "5c5f201b4042b431d4611128",
        "message": "Con imagen",
        "image": "img/1549826332017.jpg",
        "sent": "2019-02-10T19:18:52.018Z",
        "__v": 0
    }
}

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论