【问题标题】:Meteor deployment fibers issue流星部署光纤问题
【发布时间】:2026-02-17 16:25:02
【问题描述】:

我在 Ubuntu 17.10 上部署了 Meteor v1.6.1 应用程序。

MongoDB:mongodb-win32-x86_64-2008plus-ssl-3.6.3
NodeJS:node-v8.10.0-x64

这是构建错误: 我该如何解决这个问题?

【问题讨论】:

  • 它似乎对部署没有任何作用,因为在 MS-Windows 上运行应用程序似乎是一个错误,并且与 simpl-schema 中的架构不匹配有关。你知道流星开发吗?有相关代码吗?

标签: node.js mongodb meteor


【解决方案1】:

您的架构有问题。您已声明文档的 readConfirmed 键是一个数组,但您没有声明它是一个数组。

例如,如果readConfirmed 是一个字符串数组,您可以在架构中使用以下代码:

readConfirmed: {
    type: Array,
    label: 'Array of IDs of users who have read and confirmed',
},
'readConfirmed.$': {
    type: String,
    label: 'Each ID in readConfirmed array',
},

第一个对象告诉simpl-schema readConfirmed 键是一个数组。第二行使用$ 告诉simple-schema 数组中的每个单独项都是一个字符串。

如果每个项目都是一个字符串,这个例子是有效的,但是如果每个项目都是一个对象呢?然后,您需要做的就是添加另一个层,在其中解释对象中的每个键是什么:

readConfirmed: {
    type: Array,
    label: 'Array of IDs of users who have read and confirmed',
},
'readConfirmed.$': {
    type: Object,
    label: 'Data about each user who has read and confirmed',
},
'readConfirmed.$._id': {
    type: String,
    label: 'ID of each user who has read and confirmed',
},
'readConfirmed.$.name': {
    type: String,
    label: 'Name of each user who has read and confirmed',
},

【讨论】: