Newsworthy Presidential Mistakes
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    thinkypublic

    Thinky

    =============================== Wercker status Light Node.js ORM for RethinkDB.

    Quick start

    Install:

    npm install thinky
    

    Use:

    var thinky = require('thinky')();
    var type   = thinky.type;
     
    // Create a model - the table is automatically created
    var Post = thinky.createModel("Post", {
      id: String,
      title: String,
      content: String,
      idAuthor: String
    }); 
     
    // You can also add constraints on the schema
    var Author = thinky.createModel("Author", {
      id: type.string(),      // a normal string
      name: type.string().min(2),  // a string of at least two characters
      email: type.string().email()  // a string that is a valid email
    });
     
    // Join the models
    Post.belongsTo(Author, "author", "idAuthor", "id");

    Save a new post with its author.

    // Create a new post
    var post = new Post({
      title: "Hello World!",
      content: "This is an example."
    });
     
    // Create a new author
    var author = new Author({
      name: "Michel",
      email: "orphee@gmail.com"
    });
     
    // Join the documents
    post.author = author;
     
     
    post.saveAll().then(function(result) {
      /*
      post = result = {
        id: "0e4a6f6f-cc0c-4aa5-951a-fcfc480dd05a",
        title: "Hello World!",
        content: "This is an example.",
        idAuthor: "3851d8b4-5358-43f2-ba23-f4d481358901",
        author: {
          id: "3851d8b4-5358-43f2-ba23-f4d481358901",
          name: "Michel",
          email: "orphee@gmail.com"
        }
      }
      */
    });

    Retrieve the post with its author.

    Post.get("0e4a6f6f-cc0c-4aa5-951a-fcfc480dd05a").getJoin().run().then(function(result) {
      /*
      result = {
        id: "0e4a6f6f-cc0c-4aa5-951a-fcfc480dd05a",
        title: "Hello World!",
        content: "This is an example.",
        idAuthor: "3851d8b4-5358-43f2-ba23-f4d481358901",
        author: {
          id: "3851d8b4-5358-43f2-ba23-f4d481358901",
          name: "Michel",
          email: "orphee@gmail.com"
        }
      }
      */
    });

    Documentation

    https://www.justonepixel.com/thinky (branch `gh-pages).

    Help

    No SLA, but a few developers hang out there and may be able to help:

    Run the tests

    npm test
    

    Contribute

    You are welcome to do a pull request.

    Roadmap

    The roadmap is defined with the issues/feedback on GitHub. Checkout:
    https://github.com/neumino/thinky/issues

    Author

    Contributors

    License

    MIT, see the LICENSE file

    Keywords

    install

    npm i thinky

    Downloadsweekly downloads

    1,620

    version

    2.3.9

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar
    • avatar