37 lines
767 B
JavaScript
37 lines
767 B
JavaScript
|
|
t = db.array4;
|
|
t.drop();
|
|
|
|
t.insert({"a": ["1", "2", "3"]});
|
|
t.insert({"a" : ["2", "1"]});
|
|
|
|
var x = {'a.0' : /1/};
|
|
|
|
assert.eq(t.count(x), 1);
|
|
|
|
assert.eq(t.findOne(x).a[0], 1);
|
|
assert.eq(t.findOne(x).a[1], 2);
|
|
|
|
t.drop();
|
|
|
|
t.insert({"a" : {"0" : "1"}});
|
|
t.insert({"a" : ["2", "1"]});
|
|
|
|
assert.eq(t.count(x), 1);
|
|
assert.eq(t.findOne(x).a[0], 1);
|
|
|
|
t.drop();
|
|
|
|
t.insert({"a" : ["0", "1", "2", "3", "4", "5", "6", "1", "1", "1", "2", "3", "2", "1"]});
|
|
t.insert({"a" : ["2", "1"]});
|
|
|
|
x = {"a.12" : /2/};
|
|
assert.eq(t.count(x), 1);
|
|
assert.eq(t.findOne(x).a[0], 0);
|
|
|
|
// A query for an undefined value should not match an array.
|
|
t.drop();
|
|
t.insert( { a:[ 5 ] } );
|
|
t.insert( { a:[ 5, 6 ] } );
|
|
t.insert( { a:[ 5, "foo" ] } );
|
|
assert.eq( 0, t.count( { a:{ $in:[ undefined ] } } ) );
|