Mongoose findOne 通过 _id 嵌入文档

2024-03-29

我正在尝试将菜单推送到嵌入文档。但我在餐厅里没有定义 findOne 。我只是想将一些文档推送到餐厅的菜单类别中。正如您在架构中看到的:

var RestaurantSchema = new mongoose.Schema({
    contactTelphone : String,
    address : String,
    branchID : String,
    email : String,
    restaurantName : String,
    userID : String,
    menuCategory : [MenuCategorySchema]
});

var MenuCategorySchema = new mongoose.Schema({
    menuCategory : String,
    menuCategoryAlt : String,
    sequence : Number,
    menus : [MenuSchema],
    restaurantInfo : { type: Schema.Types.ObjectId, ref: 'Restaurant' },
});

var MenuSchema = new mongoose.Schema({
    foodName : String,
    foodNameAlt : String,
    picName : String,
    price : String,
    rating : Number,
    menuSequence : Number,
    category : { type: Schema.Types.ObjectId, ref: 'MenuCategory' },
});

exports.menuForMenuCategory = function(newData, callback)
{
    console.log(newData);

    var menuCategoryId = newData.menuCategoryId;
    var restaurantId = newData.restaurantId;

    var newMenu = new Menu({
        foodName : newData.foodName,
        foodNameAlt : newData.foodNameAlt,
        picName : newData.picName,
        price : newData.price,
        cookingCategory : newCookingCategory,
        dishSpecial : newDishSpeical
    });

    Restaurant.findOne( {'_id' : restaurantId }, function(err, restaurant){
        if (!err) {
                    //Is it how to do this? It says "findOne not defined"
            restaurant.findOne( "_id" : menuCategoryId, function(err, category){
                category.push(newMenu);
            });
        }
    });
}

子文档有一个 .id() 方法,因此您可以执行以下操作:

myModel.findById(myDocumentId, function (err, myDocument) {
  var subDocument = myDocument.mySubdocuments.id(mySubDocumentId);
});

See http://mongoosejs.com/docs/subdocs.html http://mongoosejs.com/docs/subdocs.html以供参考。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mongoose findOne 通过 _id 嵌入文档 的相关文章

随机推荐

  • Laravel 5 - 图像验证不起作用

    我使用 Laravel 5 Validator 来验证头像 我的规则如下所示 validator Validator make Request all avatar gt required image max 1000 我正在尝试上传文件
  • 向 ggmap 添加一堆箭头

    我正在绘制一张地图 它应该覆盖来自数据集的多个 gt 400 箭头 其中每个箭头的起点和终点都有纬度 经度对 这是使用 dput 的数据子集 df lt structure list Lat c 49 34054 49 34068 49 3
  • 将轴刻度标签中的一个字符更改为斜体,同时保留多行[重复]

    这个问题在这里已经有答案了 I have a geom col from ggplot2 with labels for categorical axis ticks like below 该图是使用以下代码创建的 library tidy
  • 用java创建一个简单的规则引擎

    我正在探索用 Java 创建简单业务规则引擎的不同方法 我需要向客户展示一个简单的 Web 应用程序 让他配置一堆规则 规则库的示例可能如下所示 这是例子 IF PATIENT TYPE A AND ADMISSION TYPE O SEN
  • RTF 行结束转换出现意外结果

    If txtLog is a RichTextBox http msdn microsoft com en us library system windows forms richtextbox aspx控制 Dim text hi vbC
  • 如何计算给定三个点的抛物线的顶点

    我有三个 X Y 点 形成一条抛物线 我只需要计算经过这三个点的抛物线的顶点是什么 最好是一种快速的方法 因为我必须做很多这样的计算 询问科学家 网站提供这个答案 http www newton dep anl gov askasci ma
  • 如何打印 Node WebKit 版本

    如果我想检查哪个节点WebKit https github com nwjs nw js我正在使用的版本 我将如何从命令行执行此操作 要了解应用程序中node webkit的版本 以便确定某些API是否可用 可以使用 process ver
  • 循环访问 ARM 模板中的值

    我已经花了一天多的时间来解决 ARM 模板遇到的问题 并且似乎陷入困境 所以询问 SO 以防有人可以提供帮助 为了描述该问题 我有一个现有的 Azure Key Vault 设置 并希望向该资源组添加许多访问策略 出于参考目的 以下是用于添
  • 如何使文件系统缓存失效?

    我想测量 优化应用程序的 冷启动 启动性能 如果不实际重新启动就很难做到这一点 这显然不是一个理想的解决方案 有没有一种方法可以使整个系统的文件缓存无效 以便映射的页面访问实际上导致磁盘访问 以便我可以测量程序启动所需的时间 信息 我非常需
  • 如何使用 perl 将完整路径转换为相对路径?

    我在 Perl 程序的两个变量中拥有文件的完整路径和其父目录之一的完整路径 什么是计算文件相对于父目录的相对路径的安全方法 需要在 windows 和 unix 上工作 e g filePath full path to my file p
  • 为什么需要将地图类型转换为列表以将其分配给 pandas 系列?

    我刚刚开始学习 pandas 的基础知识 有一件事让我思考 import pandas as pd data pd DataFrame Column1 A B C data Column2 map str lower data Column
  • 帮助解决 System.BadImageFormatException:

    在通过联系本地 Web 服务的 NET 3 5 SP1 项目进行调试时 我收到了异常 System BadImageFormatException 错误的类令牌 当然 关于导致异常的原因并没有更多细节 我可以看出发生这种情况的方法 与调用者
  • 无法应用插件 [id 'forge']

    这是一个延续这个问题 https stackoverflow com questions 58312064 upgrading gradle我的第一个问题已经解决了 但是新的问题又出现了 按照其中提到的教程 解决了一些错误后 现在当我尝试运
  • 没有收到所有 ICMP 超时消息:为什么?

    我正在使用 Scapy 重播一些转储的数据包 其中我更改了 TTL 值 即使 TTL 1 我也得到了非常奇怪的结果 当我分别运行测试时间时 我可以得到大约 40 到 95 的数据包回复了 ICMP 超时消息 然后 我可以递归地重放未应答的数
  • 使用多个列名的 SQLAlchemy 连接语法

    这是我想要执行的以下 sql 查询 并且在命令行上完美运行 select from table1 join table2 using col1 col2 我无法弄清楚如何使用 SQLAlchemy 执行此操作 任何帮助将不胜感激 表之间没有
  • Boost::asio 和 boost::bind:Functor 内存永远不会被释放

    我的代码正在分配内存并且从不释放它 即使它应该 至少在我看来 标题看起来像这样 typedef boost asio ssl stream
  • 在 VideoView 中显示缩略图的问题

    我正在将 VideoView 用于网络视频 并且我还有一个包含相应缩略图的位图对象 现在我应该如何将位图设置为 VideoView 以显示缩略图 我在用着 videoView setBackgroundDrawable new Bitmap
  • OpenMP:不要使用超线程核心(一半“num_threads()”带有超线程)

    In g 4 7 中的 OpenMP 并行 效率不高吗 5x CPU 时为 2 5x https stackoverflow com questions 36950532 is openmp parallel for in g 4 7 no
  • C# 中可以有同名的公共 getter 和私有 setter 吗?

    如何为属性创建公共 getter 和私有 setter 下面的说法正确吗 public String Password set this password value private String Password get return t
  • Mongoose findOne 通过 _id 嵌入文档

    我正在尝试将菜单推送到嵌入文档 但我在餐厅里没有定义 findOne 我只是想将一些文档推送到餐厅的菜单类别中 正如您在架构中看到的 var RestaurantSchema new mongoose Schema contactTelph