123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import * as assert from 'power-assert'
- import tcb from '../../../src/index'
- import * as Config from '../../config.local'
- import * as common from '../../common/index'
- const app = tcb.init(Config)
- const db = app.database()
- const _ = db.command
- describe('projection', () => {
- const collName = 'db-test-projection'
- let passagesCollection = null
- const data = [
- { category: 'Web', tags: ['JavaScript', 'C#'] },
- { category: 'Web', tags: ['Go', 'C#'] },
- { category: 'Life', tags: ['Go', 'Python', 'JavaScript'] }
- ]
- beforeAll(async () => {
- passagesCollection = await common.safeCollection(db, collName)
- const success = await passagesCollection.create(data)
- assert.strictEqual(success, true)
- })
- afterAll(async () => {
- const success = await passagesCollection.remove()
- assert.strictEqual(success, true)
- })
- it('slice', async () => {
- const result = await db
- .collection(collName)
- .field({
- tags: db.command.project.slice(1)
- })
- .get()
- for (let item of result.data) {
- assert(item.tags.length === 1)
- }
- })
- it('projection true false', async () => {
- const result = await db
- .collection(collName)
- .field({
- category: true
- })
- .get()
- // console.log('result:', result)
- for (let item of result.data) {
- assert(item.category)
- }
- // assert.strictEqual(result.data.length, 3)
- })
- it('projection 1 0', async () => {
- const result1 = await db
- .collection(collName)
- .field({
- category: 0
- })
- .get()
- // 检查回包中没有category
- assert(Object.keys(result1.data[0]).indexOf('category') < 0, true)
- })
- })
|