NoSql 速成课程/教程 [关闭]

2024-02-05

我已经看到 NoSQL 在 SO 上出现了很多,并且我对why你会使用它(来自这里,维基百科等)。这可能是由于缺乏对它是什么的具体和统一的定义(更多的是一个范例而不是具体的实现),但我正在努力思考如何设计一个使用它的系统或如何使用它我会在我的系统中实现它。我真的陷入了关系数据库思维模式,从表和连接的角度思考事物......

无论如何,是否有人知道使用它的系统上的速成课程/教程(类似于基于 NoSQL 的系统的“hello world”)或基于 SQL 的现有“Hello World”应用程序的教程并将其转换为 NoSQL(不一定是代码,而只是高级解释)。


从最基本的形式来看,NoSQL 实际上只不过是一种使用某种键/值配对系统存储对象的方法。我想你已经一直在使用这个了。例如。在 javascript 中,你可以创建一个名为 foo 的对象,然后执行foo['myobj'] = myobj;在对象中存储内容。

所有 NoSQL 服务器真正做的就是为您提供一种添加/删除/查询大规模数组的方法,同时仍然允许持久性和容错。您可以用大约 100 行代码创建一个 NoSQL 内存服务器。

所以让我们这样做...在 CouchDB 中,您使用 map/reduce...所以让我们创建一个映射函数,其作用与一些 SQL 代码相同:

SELECT * FROM users WHERE age > 10

在 CouchDB 中,您为服务器提供一个 JavaScript 函数,该函数针对数据库中的每个项目运行...

function (doc)
{
    if (doc.objType == "users") {
       if (doc.age > 10) {
           emit(doc._id, null)
       }
    }
}

这就是它的全部内容......它从服务器端开始变得更加复杂,因为服务器必须处理崩溃以及同一对象的多个修订,但这只是一个示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NoSql 速成课程/教程 [关闭] 的相关文章

随机推荐

  • 如何将字符编码大于127的字符串正确转换为字节数组?

    我正在从另一个系统检索使用代码页 437 编码的 ASCII 字符串 我需要将其转换为 Unicode 以便它们可以与其他 Unicode 字符串混合 这就是我正在处理的内容 var asciiString u0094 94 corresp
  • 为什么 SimpUserRegistry 在 EC2 实例上无法正常工作

    我在用SimpUserRegistry获取在线用户数 使用getUserCount 它在我的本地计算机上运行良好 但在只有弹性 IP 且没有负载均衡器的 AWS EC2 实例 尝试使用 Amazon Linux 和 Ubuntu 上运行不佳
  • 专门用于枚举类型参数的成员模板

    在下面的代码中 Foo
  • Vuex + 打字稿

    我正在将 JavaScript 项目转换为 TypeScript 但是 当我尝试让 Vue 使用 Vuex 时 出现类型错误 import Vue from vue import Vuex from vuex Vue use Vuex 看起
  • 签名已过期:现在早于错误:InvalidSignatureException

    我正在尝试使用 AWS API Gateway 和 IAM 授权的一个小示例 AWS API Gateway 生成以下端点 https xyz1234 execute api us east 2 amazonaws com Users us
  • collect2:致命错误:ld 终止于信号 11 [分段错误]

    我实际上无法用 C 编译一个简单的 helloworld 当我输入 gcc hello c 时 输出是 collect2 致命错误 ld 终止于信号 11 分段错误 有人有主意吗 我尝试重新安装 gcc g make cmake binut
  • 对于 2^1024 到 2^4096 范围内的数字,最快的确定性素性测试是什么?

    我正在编写加密协议的实现 到目前为止 我一直很难找到 1024 位到 4096 位整数 308 到 1233 位数字 最快的确定性素性测试 我知道有几种选择 但我无法找到现实世界的速度比较 具体来说 对于这种大小的一般随机数 AKS 测试与
  • 如何循环遍历从 snapshot.val() 收到的数据并根据键将其推送到数组

    我想循环遍历我收到的数据snapshot val 基于用户密钥并将它们推入数组中 我尝试在 for in 循环的帮助下做到这一点 如下所示 firebase database ref interests child I would like
  • 不允许表达式作为字段默认值

    我正在努力使 app可供全班使用 首先 我得到 不允许表达式作为字段默认值 其次 在第 5 行 我得到 未识别的变量 app 我怎样才能实现我的目标 class UserController extends XController var
  • 如何将动态生成的元素绑定到 Intersection Observer?

    这是我正在使用的代码 var ob new IntersectionObserver entries gt for var entry of entries console log works document querySelectorA
  • 将 Dbcontext 配置为瞬态

    在 ASP NET Core EntityFramework Core 中 services AddDbContext 方法会将指定的上下文添加为作用域服务 据我了解 这是 Microsoft 建议的 dbcontext 生命周期管理 然而
  • 如何从 javascript 访问顺风颜色

    我正在使用 ApexCharts 并且想使用我的顺风颜色 红色 500 等 来设计我的图表 我无法使用 css 类 因此无法在 post css 上下文中使用 theme 我也无法引用默认配置 因为我已经扩展了它 我可以导入我的新配置的颜色
  • 在 Swing 中叠加多个 JSlider

    是否可以覆盖多个 JSlider 以便我可以看到两者上的 拇指 我已尝试禁用轨道的绘制并将不透明度设置为 false 但其中一个仍然隐藏另一个 基本上我想创建一个允许用户定义范围的组件 而且我真的不想编写自定义组件 因为它具有滑块的大部分属
  • requestFocus 不适用于 EditText

    花了很多时间解决这个问题 看起来很简单 但我真的很累 找不到解决办法 我有一个活动 活动有 4 个 EditText 组件 其中 2 个具有包含列表的弹出菜单 AlertDialog 下一个 禁用编辑 最后一个 是可编辑的 并且当用户点击它
  • java 枚举构造函数中是否允许使用可变参数?

    enum MyEnum A 1 2 3 4 B 1 2 C 4 5 8 8 9 private MyEnum int firstInt int otherInts do something with arguments perhaps in
  • 如何为 Google 地图指定自定义聚类标记

    我有一个带有标记和聚类的谷歌地图 我可以使用如下代码轻松更改标记图标 marker new google maps Marker position lat location data lat lng location data lng ma
  • 对象数组不可picklable

    我用 python 创建了一个类 如下所示 class myClass fields 1 2 其中 field 1 和 field 2 应该是整数 然后我创建了一个数组 其元素属于该类myClass如下 array myClass for
  • 如何为打字稿编译器配置`baseUrl`?

    我有一个使用模块构建的网站requireJS 我想开始在这个项目上使用 TypeScript 1 8 Visual Studio 2015 并尝试重写其中一个模块 目前我的模块如下所示 file ProjectFoo app dashboa
  • 旋转数组 LeetCode (189)

    问题如下 给定一个数组 将数组向右旋转 k 步 其中 k 为非负数 这是我的代码 class Solution public void rotate vector
  • NoSql 速成课程/教程 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我已经看到 NoSQL 在 SO 上出现了很多 并且我对why你会使用它 来自这里 维基百科等 这可能是由于缺乏对它是什么的具体和统一的定