标签: nosql

在MongoDB中更新特定数组索引处的对象

我有一个表格的集合

{ id : 1,
  data: [ [ { name : "alice" }, { name : "bob" } ],
          [ { name : "dan" },   { name : "rob" } ] ] }
Run Code Online (Sandbox Code Playgroud)

并且数组的结构具有意义.我如何更新第一个元素([0] [0])并设置name ="alex".我已经看到很多问题,解决如何更新匹配查询而不是特定元素的数组元素.需要说明的是,更新后,记录应如下所示:

{ id : 1,
  data: [ [ { name : "alex" },  { name : "bob" } ],
          [ { name : "dan" },   { name : "rob" } ] ] }
Run Code Online (Sandbox Code Playgroud)

mongodb nosql mongodb-query

4
推荐指数
1
解决办法
4041
查看次数

我可以使用noSQL文档来存储json对象吗?

我正在学习noSQL,我读到了基于文档的数据库,并且noSQL适合开发人员,我可以将文档格式设置为json对象吗?

例如,要存储json ojbects的人员配置文件,并将json存储在noSQL表中?这是继续前进的正确方法吗?

database json nosql

4
推荐指数
1
解决办法
3800
查看次数

保存,组织和查询产品,选项/标签和类别

首先,让我明确表示我不会要求任何代码; 我只是想要一些关于如何实现我要问的内容的一般性想法/指导/意见.

我开始建立一个在线电子商务系统(Yii2 + MongoDB,所以,PHP + NoSQL),有两个必要条件,我不完全确定如何实现,而不会在我的代码和数据库.

两个必需品都是相关的,所以我将它们解释为一个.

与任何其他严肃的电子商务一样,它也有类别.而且,与任何其他严肃的电子商务一样,每种产品都会有tagsoptions.让我再解释一下我所说的tags/ options.

这些是用户在购买产品时可以选择的可用选项,例如颜色或尺寸,材料等.

  1. 分类

将有多个general类别以及其他子类别.例如,Electronics可以是一般类别,子类别可以是ComputersSmart TVs.然后,MotherboardsRAM可能的子类Computers.

这本身可以很容易地存储在数据库中,但是这里出现问题:

  • 列出其所属的任何类别或上层类别时,应显示每个产品.这意味着如果我(作为最终用户)浏览Computers类别中的所有项目,我应该看到NVIDIA GTX670哪个属于该类别的子Graphic cards类别Computers.

我可以通过以下方式保存每个产品:

{
    _id: asdasfwetrw34tw34t245y45y,
    name: "NVIDIA GTX670",
    price: 99.50,
    ...
    ...
    categories: [
        "Electronics", //<-- just the ID of that group
        "Computers", //<-- just the ID of that group
        "Graphic cards" //<-- just …
Run Code Online (Sandbox Code Playgroud)

php mongodb nosql yii2

4
推荐指数
1
解决办法
616
查看次数

边缘集合与图形

在ArangoDB中我有一件事没有得到:

边缘集合和图形之间有什么区别?在哪种情况下我应该选择哪种?

graph nosql arangodb polyglot-persistance edge-list

4
推荐指数
1
解决办法
803
查看次数

Cassandra + nodejs:如何获得Keyspaces和表格?

我试图从Cassandra集群中获取元数据,密钥空间和表.我使用以下node.js代码:

var express = require('express');
var bodyParser = require('body-parser');
var cassandra = require('cassandra-driver');

var client = new cassandra.Client( { contactPoints : [ '127.0.0.1' ] } );
client.connect(function(err, result) {
    console.log('Connected To the Database.');
});

var app = express();
app.use(bodyParser.json());
app.set('json spaces', 2);

app.get('/metadata', function(req, res) {
    res.send(client.hosts.slice(0).map(function (node) {
        return { address : node.address, rack : node.rack, datacenter :     node.datacenter }
    }));
});



app.get('/metadata/keyspaces', function(req, res) {
    client.execute("DESCRIBE KEYSPACES;", function(err, result) {
        if (err) {
            res.status(404).send(err);
        } else {
            res.json(result); …
Run Code Online (Sandbox Code Playgroud)

cassandra nosql node.js

4
推荐指数
1
解决办法
2768
查看次数

难忘的理解

我有一些关于cassandra memtable的问题.我将非常感谢你的帮助.

关于记忆的事实:

1)放入RAM;

2)per-ColumnFamily结构;

3)单个列族可能存在多个memtable;

问题:

1)何时创建列族的附加记忆?需要什么条件?我假设在创建其他提交日志文件后会创建其他memtables.这是真的?

2)达到提交日志大小阈值后会发生什么?我假设将开始将memtables放入队列; 队列填充之后将开始将memtable刷新到sstable,然后删除旧的提交日志(在hdd上)和相应的memtable s(在ram中).在这种情况下,memtable内存的某些部分将一直为空,并且提交日志总是会被填充到90-100%?

3)达到记忆大小阈值时会发生什么?像以前的情况一样会开始冲到sstable吗?提交日志的某些部分也将始终为空,可记忆内存将填充高达90-100%?

4)关于memtable_allocation_type:在官方资源中 - "offheap_buffers将单元名称和值移动到DirectBuffer对象.这对读取的影响最小 - 值仍然是"实时"Java缓冲区 - 但是只有在存储大字符串时才会显着减少堆或者是blob." .DirectBuffer是什么意思?它放在java堆中?你能给出有关它的信息的网站链接吗?

非常感谢你!

cassandra nosql

4
推荐指数
1
解决办法
9437
查看次数

打开Redis服务器时出错

我在Windows上下载Redis 2.8.19,它运行正常.但在我重新启动计算机后,我尝试打开它并显示错误:

Redis打开服务器错误

[] 5880] 15月15日:42:12.227 #Windows版本的Redis分配一个大内存映射文件,用于与持久性操作中使用的分叉进程共享堆.此文件将在当前工作目录中创建,或者由.conf文件中的'heapdir'指令指定的目录创建.Windows报告此文件没有足够的可用磁盘空间(Windows错误0x70).

您可以通过使用--maxheap标志减小Redis堆的大小,或者将堆文件移动到具有足够空间的本地驱动器来解决此问题.有关--maxheap和--heapdir标志的更多详细信息,请参阅二进制发行版附带的文档.

Redis无法继续.退出.

我找不到堆文件,也不知道如何减小Redis堆的大小.谢谢 !

nosql redis

4
推荐指数
1
解决办法
3450
查看次数

非规范化如何成为NoSQL DB的属性

在讨论针对传统RDBMS的NoSQL数据库时,许多文章都说,在NoSQL-DB中,所有相关数据都保存在一起,因此可以避免连接.因此,检索数据更快.简而言之,数据是非规范化的.非规范化也存在缺点.例如冗余,额外空间,需要在多个地方更新数据等

但不论非规范化的利弊是什么; 它是一个DB设计属性.如何将其归因于特定的DB类型?如果在给定的情况下,可以对数据进行非规范化,那么也可以在RDBM中实现相同的数据.

那么为什么将非规范化作为NoSQL db的属性进行讨论呢?

rdbms denormalization nosql

4
推荐指数
2
解决办法
729
查看次数

在SQL Server上存储NoSQL数据?

因此,忽略我们应该使用NoSQL数据库这一事实 - 客户端基础架构要求正在逐渐增加.

我们的数据显然属于非关系模型,但我们必须使用SQL Server 2014来实现持久性.有没有办法将库用于RavenDB或MongoDB与SQL Server之间的持久性?例如,将JSON或BSON存储在SQL Server表中,但使用Mongo或Raven查询和序列化它?

我们最初只是将JSON数据存储在一个列中,但我认为必须有一个更优雅的解决方案.我看到RavenDB支持SQL Server复制,但看起来它不能用于其主要持久性组件.

我们正在运行一个C#ASP.NET MVC Web应用程序.前端是一个KnockoutJS SPA,所以它很乐意绑定到JSON数据.

c# sql-server mongodb nosql ravendb

4
推荐指数
2
解决办法
6951
查看次数

Cassandra LOCAL_QUORUM

我无法理解/查找有关如何在cassandra中计算各种法定人数的信息.

假设我有一个16节点集群,它使用2个数据中心的网络拓扑策略.每个数据中心的复制因子为2(DC1:2,DC2:2).

在这个例子中,如果我使用LOCAL_QUORUM写入,我会将数据写入4个节点(每个数据中心2个),但确认何时发生?在1个数据中心写入2个节点后?

另外,为了保持强大的读取一致性,我需要Write节点+读取节点>复制因子.在上面的例子中,如果读取和写入都是LOCAL_QUORUM,那么我将有2 + 2,这不能保证强读取一致性.我理解正确吗?那么我需要什么级别才能确保强大的读取一致性?

这里的目标是确保如果数据中心发生故障,读取/写入可以继续,同时最大限度地减少延迟.

cql cassandra nosql datastax cassandra-2.0

4
推荐指数
1
解决办法
9535
查看次数