app.get('/', function(page, model) { model.subscribe('todos', function(err) { if (!model.get('todos')) { model.add('todos', {text: 'Todo 1'}); model.add('todos', {text: 'Todo 2'}); } page.render(); }) });
var id = model.id(); // guid require('node-uuid').v4() model.set('todos.' + id, {text: 'Todo 1'});
model.get('todos')
, we get: { "e1b8075c-de9a-458a-aa3c-e9b383691521": { "text":"Todo 1", "id":"e1b8075c-de9a-458a-aa3c-e9b383691521" }, "26cd5f4a-c503-4c25-aeeb-a28c8c034d08": { "text":"Todo 2", "id":"26cd5f4a-c503-4c25-aeeb-a28c8c034d08" } }
var todo = model.get('todos.e1b8075c-de9a-458a-aa3c-e9b383691521');
app.get('/', function(page, model) { model.subscribe('todos', function(err) { if (!model.get('todos')) { model.add('todos', {text: 'Todo 1'}); model.add('todos', {text: 'Todo 2'}); } var filter = model.filter('todos'); filter.ref('_page.todos'); page.render(); }) });
<Body:> {#each _page.todos as :todo} <p>{:todo.text}</p> {/}
var todos = model.filter('todos', function(todo) { return todo.text == 'Todo1'; }).get();
var todos = model.filter('todos').sort('text').get();
app.get('/', function(page, model) { model.subscribe('todos', function(err) { if (!model.get('todos')) { model.add('todos', {text: 'Todo 1'}); model.add('todos', {text: 'Todo 2'}); } var ids = Object.keys(model.get('todos')); model.set('_page.ids', ids) model.refList('_page.todos', 'todos', '_page.ids'); page.render(); }) });
model.subscribe('todos', function(err) { // todos }); model.subscribe('todos.e1b8075c-de9a-458a-aa3c-e9b383691521', function(err) { // }); model.subscribe('todos.e1b8075c-de9a-458a-aa3c-e9b383691521.text', function(err) { // }); model.subscribe('users', 'todos.e1b8075c-de9a-458a-aa3c-e9b383691521.text', function(err) { // , });
app.get('/', function(page, model) { var query = model.query('todos', {text: 'Todo 1'}) model.subscribe(query, function(err) { if (!model.get('todos')) { model.add('todos', {text: 'Todo 1'}); model.add('todos', {text: 'Todo 2'}); } query.ref('_page.todos'); page.render(); }) });
{text: 'Todo 1'}
is Mongo Queries . That is, the livedb-mongo adapter forwards this object directly to Mongo. For other databases, you can write your adapters and do it somehow differently.Source: https://habr.com/ru/post/196088/
All Articles