【发布时间】:2014-07-01 07:58:35
【问题描述】:
我正在尝试使用 Meteor 实现一个调查应用程序。我对数据建模的第一个想法是:
我将收集答案的提交集合:
{
formId: "........",
values: [
{question: "What is your name?", answer:"Aykut Yaman"},
{question: "How old..?", answer:"7"},
{question: "Hobbies?", answer: ["Kitap Okumak", "Spor Yapmak"]},
{question: "Foo", answer: "Lorem ipsum ..."}
]
}
然后我会像这样查询集合,以便找出调查,如何对某些问题给出特定答案:
submissions.find({$and: [{"values.answer": "7"}, {"values.question": "How old..?"}]})
然后我意识到这个查询is not correct,我必须使用$elemMatch。但似乎 $elemMatch 是 Meteor 中的 unsupported projection。
如何更改查询或集合才能使用 oplog,并使我的集合变得简单?
【问题讨论】:
-
不清楚oplog 是如何在这里发挥作用的。如果您的 MongoDB 部署由副本集支持,则任何添加/更新/删除数据的操作都将保存到主节点上的 oplog,以便辅助节点可以复制和应用这些操作。
标签: javascript mongodb meteor