【发布时间】:2014-05-23 08:04:37
【问题描述】:
我想在meteor 中结合meteor-roles 包实现通知功能,并且我想向角色中的所有用户显示相同的通知。 我认为将主要通知存储在通知集合中并在用户集合中存储对具有 id 和“读取”属性的通知的引用是一个好主意。 否则我需要为角色中的每个用户存储每个通知。
我的数据库:
User Collection: "username": "UserXYZ", "notifications": [[{ "_id": "231", "read": "false"}], [{ "id": "3234", "read": "true"}]] …
Notification Collection: "_id": "231" …
现在我想找到相应的通知,但问题是,我无法告诉查找函数我想要显示多个通知。
我认为这样的事情可以做到:
notifications: function() {
var user = Users.findOne({_id: Meteor.userId()});
return Notifications.find({_id: user.notifications._id, read: false});
}
任何帮助将不胜感激。
【问题讨论】:
-
mongo query operator
$in可以匹配一个数组而不是一个 _id。您需要遍历每个user.notifications来构造 _ids 数组。 -
谢谢!工作!!! (Y)