我试图找到一种方法来实现服务器上的以下伪功能。字段likesRecieved
likesShown
和likesMatch
存在于Posts集合中的一个文档中。文档插入时的超越功能
默认情况下,我需要此功能才能执行收集的每个文档。这是因为Id喜欢这样做的功能...
1)找到存在于likesRecieved和likedShown字段中的值。
2)在likesMatch字段中插入这些值。在操作1中
3)移除值从likesRecieved和likesShown
这就是我基本上是试图在服务器上做...
likesRecieved: idA, idB, idE, idF, idL
likesShown: idE, idC, idF
..perform a function to result in the following...
likesRecieved: idA, idB, idL
likesShown: idC,
likesMatch: idE, idF
这是我的代码仅在一个文档中查找两个数组中的ID。 likeMatch助手返回Posts集合中选定文档中'likesRecieved
'和'likesShown
'字段中可能存在的userIds。然后将结果值插入到likesMatch字段中。
likeMatch: function() {
var selectedPostId = Session.get('postId'); // _id of document in Post collection
var arrayOfLikeRecieved = Posts.find({_id: selectedPostId}, {fields: {LikesRecieved: 1}}).fetch();
var sumArrayRecieved = _.chain(arrayOfLikeRecieved).pluck('LikesRecieved').flatten().value();
var arrayOfLikeShown = Posts.find({_id: selectedPostId}, {fields: {LikesShown: 1}}).fetch();
var sumArrayShown = _.chain(arrayOfLikeShown).pluck('LikesShown').flatten().value();
var duplicates = _.intersection(sumArrayRecieved, sumArrayShown);
Meteor.call('insertDuplicateIntoMatchField', duplicates);
},
你是否曾想过在服务器上为MongoDB编写一些本地代码?可爱的下划线/ lodash的东西,但服务器做得更好。 “忘掉你所学到的东西” - 智者杰迪大师 – 2014-10-29 17:10:56
这就是我的想法。因为我不知道从哪里开始,所以我在这里提出了这个问题。因此,链接到相关文档将对我的工作非常有帮助。谢谢 – meteorBuzz 2014-10-29 17:21:55