0

次のクエリに問題があります。

documents()
.find("{values: {$elemMatch: {name: #, value: #}}}", "Date", new DateTime()
.withDate(2027, 6, 2)
.withHourOfDay(18)
.withMinuteOfHour(06)
.withSecondOfMinute(40)
.toDate()).as(Document.class);

エラーはスローされませんが、空のリストが返されます。

ただし、コンソールでは正常に実行され、結果が表示されます。

ソースコードを掘り下げていたところ、実際にDateは に解析されておらずISODate("yyyy-MM-ddTxxxxx")、代わりに に解析されていることがわかりました{$date: "yyyy-MM-ddTxxxxx"}

これが問題なのか、明らかに何かが足りないのかわかりません。誰かが私を正しい方向に向けることができれば、そうしてください。

PS: 参考までに、コンソール クエリは次のとおりです。

db.documents.find({values: {$elemMatch: {"name": "Date", "value" : ISODate("2027-06-02T18:06:40Z")}}})
4

1 に答える 1