gpt4 book ai didi

meteor - Meteor中的cursor.observe({added})行为

转载 作者:行者123 更新时间:2023-12-04 03:33:33 24 4
gpt4 key购买 nike

当数据添加到数据库时,我试图向用户显示警报。所以我写了(在客户端):

Meteor.autosubscribe(function() {
ItemCollection.find().observe({
added: function(item) {
// Alert code
}
});
});

而且我发现,当将新项添加到服务器端的数据库中时,不仅会显示警报(我认为这是正常的:)),而且在刷新页面时,还会为每个先前添加的项显示警报。我假设Meteor在启动时会从Mongo数据库中获取所有数据(以填充本地Minimongo DB),然后为本地数据库中添加的每个项目触发“添加”事件。

但这是正常现象吗?如何仅接收“真实”添加到服务器数据库中的项目?

最佳答案

您正在观察客户端数据库的游标,并且该数据库可能直到页面加载完成后才能完成同步,因此该行为很有意义。您可能需要研究明确订阅某个集合,如this question的答案中所述。

如果您的数据具有created_at字段,则可以观察页面加载后创建的项目。

  ItemCollection.find({created_at : {$gt: some_current_time}}).observe({
added: function(item) {
// Alert code
}
});

关于meteor - Meteor中的cursor.observe({added})行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10218534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com