> db.challenge_157_daily_scores.find().hint(
...
{
... g:1,
... d:-1,
... s:-1,
... i:1,
... t:1
... }
).sort(
...
{
... g:1,
... d:-1,
... s:-1,
... i:1,
... t:1
... }
)._addSpecial('$returnKey',true).min(
...
{
... g: 1,
... d: ISODate("2013-03-07T00:00:00Z"),
... s: 2000,
... i: 1,
... t: 'u'
... }
).max(
... {
... "g" : 1,
... "d" : 1,
... "s" :
{
... "$minElement" : 1
... }
,
... "i" :
{
... "$maxElement" : 1
... }
,
... "t" :
{
... "$maxElement" : 1
... }
... }
... );
{ "g" : 1, "d" : ISODate("2013-03-07T00:00:00Z"), "s" : 1719, "i" : 24579031, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-07T00:00:00Z"), "s" : 1472, "i" : 24579049, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-07T00:00:00Z"), "s" : 1298, "i" : 24579022, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-07T00:00:00Z"), "s" : 1228, "i" : 24579013, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-07T00:00:00Z"), "s" : 1159, "i" : 24579033, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-07T00:00:00Z"), "s" : 814, "i" : 24579045, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-07T00:00:00Z"), "s" : 747, "i" : 24579014, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-07T00:00:00Z"), "s" : 487, "i" : 24579032, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-07T00:00:00Z"), "s" : 412, "i" : 24579038, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-07T00:00:00Z"), "s" : 164, "i" : 24579019, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-06T00:00:00Z"), "s" : 1555, "i" : 24579047, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-06T00:00:00Z"), "s" : 1317, "i" : 24579029, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-05T00:00:00Z"), "s" : 1998, "i" : 24579013, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-05T00:00:00Z"), "s" : 1882, "i" : 24579008, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-05T00:00:00Z"), "s" : 1654, "i" : 24579032, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-05T00:00:00Z"), "s" : 1533, "i" : 24579036, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-05T00:00:00Z"), "s" : 1333, "i" : 24579052, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-05T00:00:00Z"), "s" : 1219, "i" : 24579019, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-05T00:00:00Z"), "s" : 1047, "i" : 24579015, "t" : "u" }
{ "g" : 1, "d" : ISODate("2013-03-05T00:00:00Z"), "s" : 782, "i" : 24579043, "t" : "u" }
Looks good!
> db.challenge_157_daily_scores.find().hint(
...
{
... g:1,
... d:-1,
... s:-1,
... i:1,
... t:1
... }
).sort(
...
{
... g:1,
... d:-1,
... s:-1,
... i:1,
... t:1
... }
)._addSpecial('$returnKey',true).min(
...
{
... g: 1,
... d: ISODate("2013-03-07T00:00:00Z"),
... s: 2000,
... i: 1,
... t: 'u'
... }
).max(
... {
... "g" : 1,
... "d" : ISODate("2013-03-07T00:00:00Z"),
... "s" :
{
... "$minElement" : 1
... }
,
... "i" :
{
... "$maxElement" : 1
... }
,
... "t" :
{
... "$maxElement" : 1
... }
... }
... );
error: {
"$err" : "requested keyPattern does not match specified keys",
"code" : 10365
}
Changing d from an integer (1) to an ISODate shouldn't affect the keyPattern.