You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.0 KiB
61 lines
2.0 KiB
"use strict"; |
|
|
|
var test = require('tape') |
|
var LevelUp = require('level-test')(); |
|
var Sublevel = require('../'); |
|
var timestamp = require('monotonic-timestamp') |
|
|
|
var db = Sublevel( LevelUp('test-level-sublevel_myDB', {valueEncoding: 'json'}) ); |
|
var groups = db.sublevel('groups'); |
|
var topics = db.sublevel('topics'); |
|
|
|
var timeGroup1 = timestamp(); |
|
var timeGroup2 = timestamp(); |
|
|
|
var timeTopic1 = timestamp(); |
|
var timeTopic2 = timestamp(); |
|
var timeTopic3 = timestamp(); |
|
|
|
console.log(timeTopic1,timeTopic2,timeTopic3) |
|
|
|
test('reverse:true', function (t) { |
|
|
|
groups.put(timeGroup1, {name: 'Cats', title: 'discussion about cats!'}, function (err) { |
|
if (err) return console.log('Ooops!', err) |
|
topics.put(timeGroup1 + '!' + timeTopic1, {title: 'dancing cats'}, function (err) { |
|
if (err) return console.log('Ooops!', err) |
|
|
|
topics.put(timeGroup1 + '!' + timeTopic2, {title: 'cat in a box'}, function (err) { |
|
if (err) return console.log('Ooops!', err) |
|
|
|
// groups.put(timeGroup2, {name: 'Node.js', title: 'Node.js talk'}, function (err) { |
|
// if (err) return console.log('Ooops!', err) |
|
|
|
topics.put(timeGroup2 + '!' + timeTopic3, {title: 'Is there a good example for website without Express.js?'}, function (err) { |
|
if (err) return console.log('Ooops!', err) |
|
|
|
var order = [ |
|
timeGroup1 + '!' + timeTopic1, |
|
timeGroup1 + '!' + timeTopic2 |
|
].sort().reverse() |
|
|
|
topics.createReadStream({max: timeGroup1 + '!~', min: ''+timeGroup1, reverse: true }) |
|
.on('data', function (data) { |
|
t.equal(data.key, order.shift()) |
|
console.log('topic:', data.key, '=', data.value) |
|
}) |
|
.on('end', function () { |
|
t.end() |
|
console.log('Stream ended') |
|
}) |
|
}); |
|
}); |
|
// }); |
|
}); |
|
}); |
|
|
|
}) |
|
// output is not in revese order: |
|
// topic: 1366613791702!1366613791702.002 = { title: 'dancing cats' } |
|
// topic: 1366613791702!1366613791702.003 = { title: 'cat in a box' } |
|
|
|
|