【问题标题】:Fail to insert documents into a local collection无法将文档插入本地集合
【发布时间】:2016-06-24 11:37:06
【问题描述】:

这个 Meteor 客户端代码应该将一个集合中的所有文档插入另一个集合,但 ToCollection.find({}).count() 返回 0。知道如何解决这个问题吗?

//client/lib.js

toCollection = new Mongo.Collection('null');

Meteor.subscribe('fromCollection'); //<------FromCollection has many documents
FromCollection.find({}).forEach((doc) => {
  toCollection.insert(doc);         //<------but nothing was inserted
});

【问题讨论】:

  • 1.为什么要提供字符串'null'?你的意思是null? 2. 插入文档前需要等待订阅准备好。
  • @MasterAM 我不知道是否需要 null。我阅读了文档以使其成为本地化,但我在 Discover Meteor 上阅读了本地意味着在本地范围内定义,所以我很困惑。

标签: mongodb meteor


【解决方案1】:

您需要正确创建的集合,例如

var toCollection = new Mongo.Collection('toCollection');
var fromCollection = new Mongo.Collection('fromCollection');

通知

  1. 我已经创建了两个集合
  2. new Mongo.Collection 的单个参数是集合的名称,而不是其中包含值“null”的字符串。

【讨论】:

  • 如果您想要一个不同步到服务器/数据库的本地内存中的集合,您可以提供null 而不是集合的名称。拥有一个在服务器上不存在的命名集合将导致方法错误,因为它会尝试将更改发送到服务器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-28
  • 2016-08-22
  • 2015-07-03
  • 2016-02-22
  • 2016-09-22
相关资源
最近更新 更多