BVB Source Codes

waterline Show another-raw-example.js Source code

Return Download waterline: download another-raw-example.js Source code - Download waterline Source code - Type:.js
  1. #!/usr/bin/env node
  2.  
  3.  
  4. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  5. // `another-raw-example.js`
  6. //
  7. // This is ANOTHER example demonstrating how to use Waterline
  8. // from a vanilla Node.js script.
  9. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  10.  
  11.  
  12. // Import dependencies
  13. var util = require('util');
  14. var _ = require('@sailshq/lodash');
  15. var setupWaterline = require('./bootstrap');
  16. var SailsDiskAdapter = require('sails-disk');
  17.  
  18.  
  19. // Set up Waterline.
  20. setupWaterline({
  21.  
  22.  
  23.   adapters: {
  24.  
  25.     'sails-disk': SailsDiskAdapter
  26.  
  27.   },
  28.  
  29.  
  30.   datastores: {
  31.  
  32.     myDb: {
  33.       adapter: 'sails-disk'
  34.     }
  35.  
  36.   },
  37.  
  38.  
  39.   models: {
  40.  
  41.     user: {
  42.       datastore: 'myDb',
  43.  
  44.       attributes: {
  45.         id: { type: 'number', autoMigrations: { autoIncrement: true } },
  46.         numChickens: { type: 'number' },
  47.         pets: { collection: 'pet' }
  48.       },
  49.       primaryKey: 'id',
  50.       schema: true
  51.     },
  52.  
  53.     pet: {
  54.       datastore: 'myDb',
  55.  
  56.       attributes: {
  57.         id: { type: 'number', autoMigrations: { autoIncrement: true } },
  58.         name: { type: 'string' }
  59.       },
  60.       primaryKey: 'id',
  61.       schema: true
  62.     }
  63.  
  64.   }
  65.  
  66.  
  67. }, function waterlineReady (err, ontology) {
  68.   if (err) {
  69.     console.error('Could not set up Waterline: '+err.stack);
  70.     return;
  71.   }//--鈥
  72.  
  73.  
  74.  
  75.   // // Our model definitions
  76.   // console.log(
  77.   //   '\n'+
  78.   //   '\n'+
  79.   //   '==========================================================================\n'+
  80.   //   '鈥 Model definitions:                                                     鈥n'+
  81.   //   '==========================================================================\n',
  82.   //   ontology.models
  83.   // );
  84.   // //
  85.   // // e.g.
  86.   // // models.user.find().exec(...)
  87.   // // models.user.find().exec(...)
  88.  
  89.  
  90.   // // Our datastore definitions
  91.   // console.log(
  92.   //   '\n'+
  93.   //   '\n'+
  94.   //   '==========================================================================\n'+
  95.   //   '鈥 Datastore definitions:                                                 鈥n'+
  96.   //   '==========================================================================\n',
  97.   //   ontology.datastores
  98.   // );
  99.   // //
  100.   // // e.g.
  101.   // // datastores.myDb.config;
  102.  
  103.  
  104.   console.log();
  105.   console.log();
  106.   console.log('--');
  107.   console.log('Waterline is ready.');
  108.   console.log('(this is where you could write come code)');
  109.  
  110.  
  111.  
  112.   // Now more example stuff.
  113.   console.log(
  114.     '\n'+
  115.     '\n'+
  116.     '==========================================================================\n'+
  117.     '鈥 EXAMPLE: Calling some model methods:                                   鈥n'+
  118.     '==========================================================================\n'
  119.   );
  120.  
  121.   var Pet = ontology.models.pet;
  122.   var User = ontology.models.user;
  123.  
  124.   // User.addToCollection([], 'chickens', [], function (err){
  125.   //   if (err) {
  126.   //     console.error(err.stack);
  127.   //     return;
  128.   //   }//--鈥
  129.  
  130.   //   console.log('k');
  131.  
  132.   // });
  133.  
  134.  
  135.   // User.removeFromCollection([], 'chickens', [], function (err){
  136.   //   if (err) {
  137.   //     console.error(err.stack);
  138.   //     return;
  139.   //   }//--鈥
  140.  
  141.   //   console.log('k');
  142.  
  143.   // });
  144.  
  145.   // User.replaceCollection([], 'chickens', [], function (err){
  146.   //   if (err) {
  147.   //     console.error(err.stack);
  148.   //     return;
  149.   //   }//--鈥
  150.  
  151.   //   console.log('k');
  152.  
  153.   // });
  154.  
  155.  
  156.   // User.sum('pets', {}, function (err, sum){
  157.   //   if (err) {
  158.   //     console.error('Uhoh:',err.stack);
  159.   //     return;
  160.   //   }//--鈥
  161.  
  162.   //   console.log('got '+sum);
  163.  
  164.   // });
  165.  
  166.  
  167.   // User.stream({}, function eachRecord(user, next){
  168.  
  169.   //   console.log('Record:',user);
  170.   //   return next();
  171.  
  172.   // }, function (err){
  173.   //   if (err) {
  174.   //     console.error('Uhoh:',err.stack);
  175.   //     return;
  176.   //   }//--鈥
  177.  
  178.   //   console.log('k');
  179.  
  180.   // });//</ User.stream() >
  181.  
  182.   Pet.createEach([
  183.     { name: 'Rover' },
  184.     { name: 'Samantha' }
  185.   ]).exec(function (err, pets) {
  186.     if (err) {
  187.       console.log('Failed to create pets:', err.stack);
  188.       return;
  189.     }
  190.  
  191.     User.create({
  192.       numChickens: 74,
  193.       pets: _.pluck(pets, 'id')
  194.     }).exec(function (err) {
  195.       if (err) {
  196.         console.log('Failed to create records:',err.stack);
  197.         return;
  198.       }
  199.  
  200.       // User.find({
  201.       //   // select: ['*'],
  202.       //   where: {},
  203.       //   limit: 10,
  204.       //   // limit: (Number.MAX_SAFE_INTEGER||9007199254740991),
  205.       //   skip: 0,
  206.       //   sort: 'id asc',
  207.       //   // sort: {},
  208.       //   // sort: [
  209.       //   //   { name: 'ASC' }
  210.       //   // ]
  211.       // })
  212.       // .populate('pets')
  213.       // .exec(function (err, records) {
  214.       //   if (err) {
  215.       //     console.log('Failed to find records:',err);
  216.       //     return;
  217.       //   }
  218.  
  219.       //   console.log('found:',records);
  220.  
  221.       // });
  222.  
  223.       User.stream({
  224.         select: ['*'],
  225.         where: {},
  226.         limit: 10,
  227.         // limit: (Number.MAX_SAFE_INTEGER||9007199254740991),
  228.         skip: 0,
  229.         sort: 'id asc',
  230.         // sort: {},
  231.         // sort: [
  232.         //   { name: 'ASC' }
  233.         // ]
  234.       }, function eachRecord(user, next){
  235.  
  236.         console.log('Record:',util.inspect(user,{depth: null}));
  237.         return next();
  238.  
  239.       }, {
  240.         populates: {
  241.  
  242.           pets: {
  243.             select: ['*'],
  244.             where: {},
  245.             limit: 100000,
  246.             skip: 0,
  247.             sort: 'id asc',
  248.           }
  249.  
  250.         }
  251.       }, function (err){
  252.         if (err) {
  253.           console.error('Uhoh:',err.stack);
  254.           return;
  255.         }//--鈥
  256.  
  257.         console.log('k');
  258.  
  259.       });//</ User.stream().exec() >
  260.  
  261.     });//</ User.create().exec() >
  262.   });//</ Pet.createEach().exec() >
  263.  
  264.  
  265.  
  266.  
  267. });
  268.  
  269.  
downloadanother-raw-example.js Source code - Download waterline Source code
Related Source Codes/Software:
notepad-plus-plus - Notepad++ official repository h... 2017-01-10
che - Eclipse Che: Next-generation Eclipse IDE. Open sou... 2017-01-10
Gource - oftware version control visualization ... 2017-01-10
FDFullscreenPopGesture - A UINavigationController's category to enable full... 2017-01-10
node-style-guide - A guide for styling your node.js / JavaScript code... 2017-01-09
Workerman - An asynchronous event driven PHP framework for eas... 2017-01-10
structor - An advanced visual editor for React components ... 2017-01-10
golearn - Machine Learning for Go 2017-01-10
poisontap - Exploits locked/password protected computers over ... 2017-01-10
kcptun - A Simple UDP Tunnel Based On KCP 2017-01-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top