[Node.js] Use Realm Object Database with Node.js
Realm is an ACID compliant object database. In this lesson, you will learn how to install Realm, define schemas for your data, perform CRUD operations and persist your data to the filesystem.
var Realm = require('realm');
const PetShema = {
name: 'Pet',
properties: {
name: 'string',
species: 'string',
age: 'int',
hasFur: 'bool'
}
};
const PersonSchema = {
name: 'Person',
primaryKey: 'id',
properties: {
id: 'int',
name: 'string',
birthday: 'date',
pet: {type: 'Pet'}
}
};
let realm = new Realm({
path: './people.realm',
schema: [PetShema, PersonSchema]
});
realm.write(() => {
realm.create('Person', {
id: ,
name: 'Bpb',
birthday: new Date('2001-10-10'),
pet: {
name: 'Fluffy',
species: 'Cat',
age: ,
hasFur: true
}
})
});
realm.write(() => {
realm.create('Person', {
id: ,
name: 'Tom',
birthday: new Date('1989-12-17'),
pet: {
name: 'Umi',
species: 'Dog',
age: ,
hasFur: true
}
});
});
let people = realm.objects('Person');
let pets = realm.objects('Pet');
console.log("people", JSON.stringify(people, null, ));
console.log("pets", JSON.stringify(pets, null, ));
let filteredPets = pets.filtered('age < 5');
console.log("filteredPets", JSON.stringify(filteredPets, null, ));
let multiFilterPets = pets.filtered('hasFur = true AND name BEGINSWITH "F"');
console.log("multiFilterPets", JSON.stringify(multiFilterPets, null, ));
let sortedAge = pets.sorted('age');
console.log("sortedAge", JSON.stringify(sortedAge, null, ));
// Overwrite the existing Person
realm.write(() => {
realm.create('Person', {id: , name: 'Jake'}, true)
});
console.log("Person", JSON.stringify(people, null, ));
// delete
let person = realm.objects('Person').filtered('id = 0');
realm.write(() => {
realm.delete(person);
});
console.log("After delete", JSON.stringify(people, null, ));
The data is stored in the local files:

[Node.js] Use Realm Object Database with Node.js的更多相关文章
- react,react native,webpack,ES6,node.js----------今天上午学了一下node.js
http://www.yiibai.com/nodejs/node_install.html---node.js具体入门资料在此 Node JS事件循环 Node JS是单线程应用程序,但它通过事件和 ...
- Node.app – 用于 iOS App 开发的 Node.js 解释器
Node.app 是用于 iOS 开发的 Node.js 解释器,它允许最大的代码重用和快速创新,占用资源很少,为您的移动应用程序提供 Node.js 兼容的 JavaScript API.你的客户甚 ...
- JS一般般的网页重构可以使用Node.js做些什么(转)
一.非计算机背景前端如何快速了解Node.js? 做前端的应该都听过Node.js,偏开发背景的童鞋应该都玩过. 对于一些没有计算机背景的,工作内容以静态页面呈现为主的前端,可能并未把玩过Node.j ...
- nw.js桌面程序自动更新(node.js表白记)
Hello Google Node.js 一个基于Google V8 的JavaScript引擎. 一个伟大的端至端语言,或许我对你的热爱源自于web这门极富情感的技术吧! 注: 光阴似水,人生若梦, ...
- node源码详解(三)—— js代码在node中的位置,process、require、module、exports的由来
本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource3 本博客同步在https://cnodejs.o ...
- node.js 之 Hello,World in Node !
创建一个js文件,把下面的内容粘贴进去,命名为helloworld.js. //加载 http 模块 var http = require("http"); //创建 http 服 ...
- Node.js学习(第一章:Node.js安装和模块化理解)
Node.js安装和简单使用 安装方法 简单的安装方式是直接官网下载,然后本地安装即可.官网地址:nodejs.org Windows系统下,选择和系统版本匹配的.msi后缀的安装文件.Mac OS ...
- Node.js实战项目学习系列(5) node基础模块 path
前言 前面已经学习了很多跟Node相关的知识,譬如开发环境.CommonJs,那么从现在开始要正式学习node的基本模块了,开始node编程之旅了. path path 模块提供用于处理文件路径和目录 ...
- [Node.js] 00 - Where do we put Node.js
Ref: 前后端分离的思考与实践(五篇软文) 其实就是在吹淘宝自己的Midway-ModelProxy架构. 第一篇 起因 为了提升开发效率,前后端分离的需求越来越被重视, 同一份数据接口,我们可以定 ...
随机推荐
- 兔子--ps中的基本工具总结(ps cs5)
矩形选框工具 椭圆选框工具 单行选框工具 单列选框工具 移动工具 套索工具柜 多边形套索工具 磁性套索工具 魔棒工具 高速选择工具 裁剪工具 切片工具 切片选择工具 吸管工具 颜色取样器工具 标尺工具 ...
- 洛谷P3201 [HNOI2009]梦幻布丁
题目描述 N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. 输入输出格式 输入格式: 第 ...
- golang 部分理解:关于channel 和 goroutine 例子
部分理解:关于channel 和 goroutine 例子package main import "strconv" import "fmt" func mai ...
- 10. LCD驱动程序 ——框架分析
引言: 由LCD的硬件原理及操作(可参看韦哥博客:第017课 LCD原理详解及裸机程序分析) 我们知道只要LCD控制器的相关寄存器正确配置好,就可以在LCD面板上显示framebuffer中的内容. ...
- 【例题 7-14 UVA-1602】Lattice Animals
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 借鉴网上的题解的. 思路是. 用"标准化"的思想. 确定基准点(0,0) 然后假设(0,0)是第一个连通块. 然 ...
- BZOJ 3732 Network Kruskal+倍增LCA
题目大意:给定一个n个点m条边的无向连通图.k次询问两点之间全部路径中最长边的最小值 NOIP2013 货车运输.差点儿就是原题...仅仅只是最小边最大改成了最大边最小.. . 首先看到最大值最小第一 ...
- 【MongoDB】The connection between two tables
In mongoDB, there are two general way to connect with two tables. Manual Connection and use DBRef 1. ...
- 如何从mysql数据库中取到随机的记录
如何从mysql数据库中取到随机的记录 一.总结 一句话总结:用随机函数newID(),select top N * from table_name order by newid() ----N是一个 ...
- groupbox里面添加Form
/// <summary> /// 动态加载dll /// 反射 /// </summary> private void dynamicDll() { string dllNa ...
- c# 调用 C++ dll 传入传出 字符串
c# 调用 C++ dll 传入传出 字符串 2013-07-02 09:30 7898人阅读 评论(2) 收藏 举报 本文章已收录于: 分类: windows 版权声明:随便转载,随便使用. C ...