标签: nosql

文件夹结构的 NoSQL 架构

我有代表文件夹结构的文档。一个文件夹可以包含其他文件夹(嵌套),理论上深度无限,但对于我们的应用程序来说,更实际的是 3 或 4 层。我需要能够检索单个项目(一个节点),也许嵌入会让这个任务有点困难?

有什么建议么?

mongodb nosql

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

在 Cassandra 中按地图值查询

假设我有这样的列族:

CREATE TABLE test(
id text,
meta map <text, text>,
PRIMARY KEY (key)
);
Run Code Online (Sandbox Code Playgroud)

然后我将一些数据放入我的映射中,例如: {'username' : 'ivan'}

我想通过映射中的元素查询我的测试列族。像这样的东西:

SELECT * FROM test WHERE meta['username'] = 'ivan';

根据 cassandra文档,这应该是可能的:

顾名思义,地图将一件事映射到另一件事。映射是一个名称和一对键入的值。使用映射类型,您可以在用户配置文件中存储与时间戳相关的信息。映射的每个元素在内部存储为一个 Cassandra 列,您可以修改、替换、删除和查询该列。

但我在网上找不到任何这样的例子,所以这真的可能吗?

谢谢,伊万

cassandra nosql

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

从 MongoDB 中删除空字段

通常,您可以使用以下命令从集合中删除字段。但是,下面的代码不适用于空 ( "") 字段。如何删除 MongoDB 中的空字段?

db.collection.update({}, {$unset: {"": ""}}, {multi:true})
Run Code Online (Sandbox Code Playgroud)

当我尝试此操作时,我收到以下错误消息:

WriteResult({
    "nMatched" : 0,
    "nUpserted" : 0,
    "nModified" : 0,
    "writeError" : {
        "code" : 56,
        "errmsg" : "An empty update path is not valid."
    }
})
Run Code Online (Sandbox Code Playgroud)

mongodb nosql

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

使用 SPARQL 获取当前时间(以秒/毫秒为单位)?

有没有办法从某个纪元获取 SPARQL 中的当前时间(以秒或毫秒为单位的持续时间)?该标准包括now(),它返回 xsd:dateTime ,以及用于提取部分 xsd:dateTimes 的各种函数,但没有用于将整个 dateTime 转换为秒的函数。我错过了什么吗?

rdf timestamp sparql nosql

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

从 mongodb 查询结果创建新集合

我正在尝试使用 mongodb 查询的结果创建一个新集合。例如,

db.coll.find({name:'abcd'}) 
Run Code Online (Sandbox Code Playgroud)

将返回集合的子集。现在,我想将此结果插入到一个新集合中。我怎样才能做到这一点?

mongodb nosql

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

预订系统是否适合 Amazon DynamoDB / NoSQL?

我正在开发基本的餐厅预订系统,并正在考虑在该项目中使用Amazon DynamoDB。话虽这么说,我什至不确定DynamoDB是否适合这样的事情,或者我是否应该坚持使用MySQL RDS,因为某些查询可能非常复杂。

我需要的功能:

用户将提交包含日期、时间和聚会人数的“查找餐桌”表格。

  1. 检查RESTAURANT表格是否允许日期和聚会规模。
  2. 检查BLOCKED表格以了解封锁日期(节假日和其他关闭时间)
  3. 检查HOURS餐桌以确保餐厅仍在营业。
  4. 根据聚会人数检查TABLEINFO餐桌,ANDRESERVATION餐桌进行比较,确保同一时间该餐桌尚未为其他客人预订

关于DynamoDB数据库设计(特别hash & range是用于此类用途)的任何建议或技巧吗?

或者您认为MySQL数据库更适合此类应用程序?

这是一个快速的数据库设计,可以让您更好地了解我正在尝试做什么。

预订模式

mysql sql database-design nosql amazon-dynamodb

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

用于桌面应用程序的本地 NoSQL 数据库

是否有适用于桌面应用程序的 NoSQL 数据库解决方案(类似于 Sqlite,其中数据库是用户计算机上的文件)?该数据库将由桌面上使用的 Nodejs 应用程序调用。

database nosql node.js

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

当外部字段是对象数组时的 MongoDB 查找

我有两个集合initiativesresources

倡议文件示例:

{
    "_id" : ObjectId("5b101caddcab7850a4ba32eb"),
    "name" : "AI4CSR",
    "ressources" : [
        {
            "function" : ObjectId("5c3ddf072430c46dacd75dbb"),
            "participating" : 0.1,
         },
         {
            "function" : ObjectId("5c3ddf072430c46dacd75dbc"),
            "participating" : 5,
         },
         {
            "function" : ObjectId("5c3ddf072430c46dacd75dbb"),
            "participating" : 12,
         },
         {
            "function" : ObjectId("5c3ddf072430c46dacd75dbd"),
            "participating" : 2,
         },
    ],
}
Run Code Online (Sandbox Code Playgroud)

资源文件:

{
    "_id" : ObjectId("5c3ddf072430c46dacd75dbc"),
    "name" : "Statistician",
    "type" : "FUNC",
}
Run Code Online (Sandbox Code Playgroud)

所以我想用参与的总和来返回每个资源。为此,我需要加入这两个集合。

db.resources.aggregate([
{
    "$match": { type: "FUNC" }
},
{
    "$lookup": …
Run Code Online (Sandbox Code Playgroud)

mongodb nosql mongodb-query aggregation-framework

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

如何删除mongodb中聚合查询返回的文档

我正在尝试删除 Mongodb 中聚合返回的所有文档。

我的查询如下:

db.getCollection("Collection")
  .aggregate([
    {
      $match: { status: { $in: ["inserted", "done", "duplicated", "error"] } }
    },
    {
      $project: {
        yearMonthDay: { $dateToString: { format: "%Y-%m-%d", date: "$date" } }
      }
    },  
    { $match: { yearMonthDay: { $eq: "2019-08-06" } } }
  ])
  .forEach(function(doc) {
    db.getCollection("Collection").remove({});
  });
Run Code Online (Sandbox Code Playgroud)

我试过这个查询,但它删除了数据库中的所有数据,请问有什么建议吗?

database mongodb nosql aggregation-framework

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

选择正确的方法使用 Azure Cosmos DB (MongoDB) 构建多租户架构

在 CosmosDB API 中为 MongoDB 中的多租户系统选择合适的方法创建数据库/集合时,我几乎没有感到困惑。我的应用程序将有 500 个租户,其中每个租户的数据可能会增长到 3-5GB,并且最初每个租户可能需要最小 RU (400 RU/s)。

对于这个用例,我几乎没有选择: 1. PartitionKey(每个租户) 2. 具有共享吞吐量的容器(每个租户) 3. 具有专用吞吐量的容器(每个租户) 4. 数据库帐户(每个 tanant)

考虑到性能隔离、成本、可用性和安全性,我是否知道哪个选项适合上述用例?请让我知道您的意见,因为我对 NoSQL 和 Cosmos 轨道的接触较少。

multi-tenant nosql azure-cosmosdb azure-cosmosdb-mongoapi

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