如何在流星方法内运行`$ set`和`$ pull`?

时间:2019-01-16 05:29:26

标签: meteor collections

我想通过称为import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import static org.hamcrest.Matchers.hasSize; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; 的方法来更新名为SMUProfiles的集合。我想从classroom.delete内部的2个地方拉出classroom_id,即在SMUProfiles内部有一个代码数组,而另一个在数组classrooms.owner内部。

我已经成功完成了$ set部分,现在尝试添加$ pull,但是classrooms.students似乎不起作用。

我们可以用这种方式来做$pull$set吗?

$pull

1 个答案:

答案 0 :(得分:1)

您要在同一更新中的同一字段上$set$pull进行操作-这两个操作发生冲突;所以不,您不能以这种方式使用这些运算符。

您可以轻松地将其分为两部分:

SMUProfiles.update(
  { owner: this.userId },
  { $set: { 'classrooms.owner': classids },
);
SMUProfiles.update(
  { owner: this.userId },
  { $pull: { 'classrooms.students': classroom_id },
);

例如参见this answer