0
我正在处理嵌套数据的猫鼬查询。数据猫鼬查询
例子:
{
name : 'blah',
en : {
state : 'published',
pubDate : '2015-10-19-22T13:44:16.387Z'
},
es : {
...
},
...
}
我想查询与发布日期(pubDate
)于今天或空白早些时候的所有对象的日期。我的架构有嵌套的语言(en
,es
等)
我的应用程序有一个locals
对象存储一些有用的值pubDate
:为此,我有locals.today
映射到今天的日期以及locals.lang
映射到用户当前选择的语言。
使用猫鼬,我可以使用其中的个别参数查询:
.where(locals.lang + '.pubDate').lt(locals.today)
似乎我无法做到的是使用或查询操作,因为它不承认当地人反对在里面。
.or([
{ locals.lang + '.pubDate' : { '$lt' : locals.today } },
{ locals.lang + '.pubDate' : '' }
])
我可以证实,这句法作品,如果我硬编码(的'en.pubDate'
代替locals.lang + '.pubDate'
)的语言部分,但是这不是我的应用程序一个可行的解决方案。此外,我试图设置一个新的变量(var publicationdate = locals.lang + '.pubDate'
),但这也不起作用。看起来语法不喜欢为属性名称设置变量。
有谁知道我可以在猫鼬的or
查询语法中使用的变量? 感谢
真棒,很高兴它为你工作得很好:-) – chridam