37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
t = db.fm3;
|
|
t.drop();
|
|
|
|
t.insert({a: [{c: {e: 1, f: 1}}, {d: 2}, 'z'], b: 1});
|
|
|
|
res = t.findOne({}, {a: 1});
|
|
assert.eq(res.a, [{c: {e: 1, f: 1}}, {d: 2}, 'z'], "one a");
|
|
assert.eq(res.b, undefined, "one b");
|
|
|
|
res = t.findOne({}, {a: 0});
|
|
assert.eq(res.a, undefined, "two a");
|
|
assert.eq(res.b, 1, "two b");
|
|
|
|
res = t.findOne({}, {'a.d': 1});
|
|
assert.eq(res.a, [{}, {d: 2}], "three a");
|
|
assert.eq(res.b, undefined, "three b");
|
|
|
|
res = t.findOne({}, {'a.d': 0});
|
|
assert.eq(res.a, [{c: {e: 1, f: 1}}, {}, 'z'], "four a");
|
|
assert.eq(res.b, 1, "four b");
|
|
|
|
res = t.findOne({}, {'a.c': 1});
|
|
assert.eq(res.a, [{c: {e: 1, f: 1}}, {}], "five a");
|
|
assert.eq(res.b, undefined, "five b");
|
|
|
|
res = t.findOne({}, {'a.c': 0});
|
|
assert.eq(res.a, [{}, {d: 2}, 'z'], "six a");
|
|
assert.eq(res.b, 1, "six b");
|
|
|
|
res = t.findOne({}, {'a.c.e': 1});
|
|
assert.eq(res.a, [{c: {e: 1}}, {}], "seven a");
|
|
assert.eq(res.b, undefined, "seven b");
|
|
|
|
res = t.findOne({}, {'a.c.e': 0});
|
|
assert.eq(res.a, [{c: {f: 1}}, {d: 2}, 'z'], "eight a");
|
|
assert.eq(res.b, 1, "eight b");
|