如何将另一个模式数据添加到模型中?

我在 Mongodb v3.4.3 中使用猫鼬

下面是我的图像模型代码

const mongoose = require("mongoose");
const CoordinateSchema = require("./coordinate");

const ImageSchema = new mongoose.Schema({
    image_filename: {
        type: String,
        required: true
    },
    image_url: {
        type: String,
        required: true
    },
    coordinates: [CoordinateSchema],
});

下面是我的 CoordinateSchema 代码

const mongoose = require("mongoose");

const CoordinateSchema = new mongoose.Schema({
    coordinates : {
        type: Array,
        default: [],
    }
});

module.exports =  CoordinateSchema;

下面是我在 express 上运行的 api js 代码,

    router.post('/receiveCoordinates.json', (req, res, next) => {

        Image.findOneAndUpdate({image_filename:req.body.file_name}).then((image) =>    {


       })
    });

如何完成此代码以便我可以在图像模型中存储坐标数据。

谢谢。

何塞·洛佩兹·加西亚

更新

要更新 findOneAndUpdate 中的坐标,您只需检查返回的文档是否未定义(这意味着未找到您的图像)。像这样修改你的 api.js 代码:

router.post('/receiveCoordinates.json', (req, res, next) => {
    Image.findOneAndUpdate({image_filename:req.body.file_name}).then((image) => {
        if (!image) return Promise.reject(); //Image not found, reject the promise
        image.where({_id: parent.children.id(_id)}).update({coordinates: req.body.coordinates}) //Needs to be an array
            .then((coords) => {
                if (!coords) return Promise.reject();
                //If you reach this point, everything went as expected
            });
    }).catch(() => {
        console.log('Error occurred');
    );
});

这是我的猜测为什么它不起作用。

在 中ImageSchema,您正在子嵌套一个 CoordinateSchema. 但是 CoordinateSchema 是一个已经包含数组的文档

这可能不是您要找的。如果您使用的是 mongoose版本 4.2.0 或更高版本,则可以将 CoordinateSchema 作为单个文档嵌套在 ImageSchema 中。像这样重写你的 ImageSchema:

// ...

const ImageSchema = new mongoose.Schema({
    // ...
    coordinates: CoordinateSchema,
});

如果这不起作用或不能解决您的问题,请告诉我,以便我们共同寻找解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将一个对象添加到另一个对象

来自分类Dev

如何将另一个项目添加到数据绑定的DropDownList?

来自分类Dev

如何将日期之间的(大)差异添加到另一个日期

来自分类Dev

如何将多维数组的键值添加到另一个数组

来自分类Dev

如何将一个类中的对象添加到另一个类中的List。

来自分类Dev

如何将另一个UIViewController添加到现有的UINavigationController

来自分类Dev

如何将动作添加到另一个按钮内的新jbutton上以播放jfugue模式

来自分类Dev

如何将Spark数据框添加到另一个数据框的底部?

来自分类Dev

如何将包含Pod的框架添加到另一个项目中

来自分类Dev

如何将数组的元素添加到另一个对象并计数

来自分类Dev

如何将值从数据框添加到另一个数据框以获取正确的索引?

来自分类Dev

如何将集合添加到Cloud Firestore中的另一个集合?

来自分类Dev

如何将一个单元格的数据自动添加到另一张纸上的另一个单元格?

来自分类Dev

如何将列表中的列表添加到另一个列表

来自分类Dev

如何将一个列表添加到另一个列表

来自分类Dev

如果Android中已经有多个表,如何将另一个表添加到数据库中?

来自分类Dev

动态数据透视表-如何将生成的列添加到另一个表?

来自分类Dev

在Django中,如何在保存之前将另一个实例添加到内联模型中?

来自分类Dev

如何将另一个孩子添加到响应数据表

来自分类Dev

如何将变量的编号批量添加到另一个变量中?

来自分类Dev

如何将一个数组中的值添加到另一个数组?

来自分类Dev

如何将表中的值添加到另一个表中?

来自分类Dev

如何将时间添加到 Java 中的另一个 Time 实例

来自分类Dev

如何将一个 JS 对象的数据添加到另一个

来自分类Dev

如何将数据添加到另一个文件变量中的数组?

来自分类Dev

如何将一个对象添加到另一个对象的值中

来自分类Dev

如何将数据添加到另一个表中具有空值的列中?

来自分类Dev

如何将另一个变量添加到现有对象中?

来自分类Dev

如何将表列数据添加到mysql中另一个类似的列表

Related 相关文章

  1. 1

    如何将一个对象添加到另一个对象

  2. 2

    如何将另一个项目添加到数据绑定的DropDownList?

  3. 3

    如何将日期之间的(大)差异添加到另一个日期

  4. 4

    如何将多维数组的键值添加到另一个数组

  5. 5

    如何将一个类中的对象添加到另一个类中的List。

  6. 6

    如何将另一个UIViewController添加到现有的UINavigationController

  7. 7

    如何将动作添加到另一个按钮内的新jbutton上以播放jfugue模式

  8. 8

    如何将Spark数据框添加到另一个数据框的底部?

  9. 9

    如何将包含Pod的框架添加到另一个项目中

  10. 10

    如何将数组的元素添加到另一个对象并计数

  11. 11

    如何将值从数据框添加到另一个数据框以获取正确的索引?

  12. 12

    如何将集合添加到Cloud Firestore中的另一个集合?

  13. 13

    如何将一个单元格的数据自动添加到另一张纸上的另一个单元格?

  14. 14

    如何将列表中的列表添加到另一个列表

  15. 15

    如何将一个列表添加到另一个列表

  16. 16

    如果Android中已经有多个表,如何将另一个表添加到数据库中?

  17. 17

    动态数据透视表-如何将生成的列添加到另一个表?

  18. 18

    在Django中,如何在保存之前将另一个实例添加到内联模型中?

  19. 19

    如何将另一个孩子添加到响应数据表

  20. 20

    如何将变量的编号批量添加到另一个变量中?

  21. 21

    如何将一个数组中的值添加到另一个数组?

  22. 22

    如何将表中的值添加到另一个表中?

  23. 23

    如何将时间添加到 Java 中的另一个 Time 实例

  24. 24

    如何将一个 JS 对象的数据添加到另一个

  25. 25

    如何将数据添加到另一个文件变量中的数组?

  26. 26

    如何将一个对象添加到另一个对象的值中

  27. 27

    如何将数据添加到另一个表中具有空值的列中?

  28. 28

    如何将另一个变量添加到现有对象中?

  29. 29

    如何将表列数据添加到mysql中另一个类似的列表

热门标签

归档