mongodb不允许在两个字段上创建索引的主要问题是每个字段都持有一个数组:
{a:[1,2], b: [8,9]}
正因为如此,我正经历着艰难的时刻,试图解决下一个问题。
集合描述
集合名称:项目
电流采集结构(简化)
folderDataArr: [{
_id: 1,
dateOfAddingIntoFolder: 01.01.11
}, {
_id: 2,
dateOfAddingIntoFolder: 01.01.12
}],
userDataArr: [{
_id: 100,
isRead: true,
dateOfRead: 01.0.10
}, {
_id: 101,
isRead: true,
dateOfRead: 01.02.31
}]构建查询
我需要重新格式化我的结构来进行有效的查询:
问题是
如何解决这个问题?
谢谢你的帮助。
发布于 2013-10-26 19:35:23
是的,您必须在mongodb中重组您的集合。因为你是包括新的实体“新闻项目”,你的最后输出是新闻项目,是未读的。我建议你跟着走。在此之前,我已经将您的数据可视化如下
usercollection
- user (email id, last logged in time)
NewsCollection
- newsitem (newsid,newsdata,createdtimestamp,updatedtimestamp)每当新闻项目发生变化,如创建,更新,然后更改创建时间戳,更新时间戳。
如果用户登录,选择旧的登录时间戳(在更新当前之前),并在创建时间戳或更新时间戳中选择具有大于旧登录时间戳的所有新闻项目。
备注:由于新闻项目和用户是独立的实体,因此不宜将它们保存在单个集合中。
备注*:由于用户和新闻之间存在着多到多的关系,试图提供高用户特定的新闻更新需要更多的文档更新,或者您必须对每个与新闻/用户相关的更改在数组中操作更多的元素。如果你想这么做,想想你的应用程序的性能。
希望这能帮到你。
https://stackoverflow.com/questions/19607883
复制相似问题