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