以下是代码:
start = 0; end = 24
var updateQuery = schema.find({ account: accountID });
updateQuery.where( 'hour' ).gt( start ).lt( end );
updateQuery.exec( ...
如果hour
是一个数字,这可以正常工作。实际上,它是一个包含值和updatedBy键的对象的数组:
[{ value: 23, updatedBy: 'o45h43o8' }, ...]
现在,我想将where-query与$elemMatch
结合起来,找出hour[0].value
介于start
和end
之间的情况。这可行吗?
更新:澄清了我的问题。
答案 0 :(得分:1)
您不需要使用$elemMatch
,您可以使用点符号来执行此操作:
updateQuery.where( 'hour.0.value' ).gt( start ).lt( end );