0

コードは次のとおりです。

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].valuestartend

更新:私の質問を明確にしました。

4

1 に答える 1

1

そのために使用する必要はありません$elemMatch。次のようなドット表記を使用して実行できます。

updateQuery.where( 'hour.0.value' ).gt( start ).lt( end );
于 2013-02-16T14:29:42.267 に答える