mongo/jstests/core/query/array/array4.js

47 lines
1.1 KiB
JavaScript

/**
* Basic test for querying on documents containing arrays.
* @tags: [
* requires_getmore
* ]
*/
const collNamePrefix = "array4_";
let collCount = 0;
let t = db.getCollection(collNamePrefix + collCount++);
t.drop();
t.insert({_id: 0, "a": ["1", "2", "3"]});
t.insert({_id: 1, "a": ["2", "1"]});
let query = {"a.0": /1/};
let docs = t.find(query).toArray();
assert.eq(docs.length, 1, tojson(docs));
assert.eq(docs[0].a[0], 1, tojson(docs));
assert.eq(docs[0].a[1], 2, tojson(docs));
t = db.getCollection(collNamePrefix + collCount++);
t.drop();
t.insert({_id: 2, "a": {"0": "1"}});
t.insert({_id: 3, "a": ["2", "1"]});
docs = t.find(query).toArray();
assert.eq(docs.length, 1, tojson(docs));
assert.eq(docs[0].a[0], 1, tojson(docs));
t = db.getCollection(collNamePrefix + collCount++);
t.drop();
t.insert({_id: 4, "a": ["0", "1", "2", "3", "4", "5", "6", "1", "1", "1", "2", "3", "2", "1"]});
t.insert({_id: 5, "a": ["2", "1"]});
query = {
"a.12": /2/,
};
docs = t.find(query).toArray();
assert.eq(docs.length, 1, tojson(docs));
assert.eq(docs[0].a[0], 0, tojson(docs));