标签: nosql

如何通过Promise重用mongodb连接

我想重用MongoDB连接.我知道如何在node.js中重用mongodb连接 我希望使用Promises和Mongo驱动程序v2实现相同的效果

目前,我必须为每个请求连接到db,这使得它变慢.这是我的代码

"use strict"
var app = require('./utils/express')();
var mongodb = require('mongodb');

var MongoClient = mongodb.MongoClient;
//Actually I 'am connecting to MongoLab
var url = 'mongodb://localhost/my-mongo';

app.set('port', (process.env.PORT || 5000));

app.listen(app.get('port'), function () {
  console.log('ParkMe app is running on port', app.get('port'));
});


app.get('/location/create', function(req,res,next){
  MongoClient.connect(url).then(function(db) {
    return db.collection('parkme_parkingLots').find({}).toArray().then(function (docs) {
      return docs;
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

我想做的事情如下:

"use strict"
var app = require('./utils/express')();
var mongodb = require('mongodb');

var MongoClient = mongodb.MongoClient;
var url = 'mongodb://nidhind:1234@ds051635.mongolab.com:51635/my-mongo';
var db = MongoClient.connect(url).then(function(db) …
Run Code Online (Sandbox Code Playgroud)

javascript database mongodb nosql node.js

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

MongoDB中有计算字段吗?

MongoDB中有计算字段吗?

在SQL中,我可以执行以下操作:

SELECT A+B AS C FROM MYTABLE WHERE C>10
Run Code Online (Sandbox Code Playgroud)

我可以在MongoDB中做类似的事情吗?

更新

我做了投影:

db.segments.aggregate(
   [
      {
         $project: {
            "_id": 1,
            numberOfRestrictions: { $size: "$Speed Restrictions" }
         }
      }
   ]
)
Run Code Online (Sandbox Code Playgroud)

而且有效。

不幸的是,进一步的流水线操作不会:

db.segments.aggregate(
   [
      {
         $project: {
            "_id": 1,
            numberOfRestrictions: { $size: "$Speed Restrictions" }
         }
      },
      {
        $match: {
            "numberOfRestrictions": {
                "$gt": 1
            }
        }
      }
   ]
)
Run Code Online (Sandbox Code Playgroud)

后导致错误

The argument to $size must be an Array, but was of type: EOO
Run Code Online (Sandbox Code Playgroud)

mongodb nosql

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

将规则从UML映射到面向列的NoSQL数据库

因为我正在开发一个将UML类图转换为NoSQL cassandra数据库的新项目.我很难找到类似于关系模型的基本翻译规则.正如我在cassandra文档中读到的那样,它是面向查询的建模.但是在实现之前是否存在任何通用规则概念.请帮忙

uml class-diagram column-oriented cassandra nosql

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

如何将数据库从Firebase移动到另一台服务器?

我是初学者,我将实现一个使用Firebase的Android应用程序,但我不知道如果我想将我的所有数据库移动到另一个服务器,如Amazon Web Service?是否可以使用什么类型的数据库引擎?

android amazon-web-services nosql firebase mbaas

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

在Mongodb上选择MYSQL

来自mongoDB文档:

什么时候MySQL会更合适?

一个具体的例子是旅行预订系统背后的预订引擎,它通常也涉及复杂的交易.虽然核心预订引擎可能在MySQL上运行,但应用程序中与用户互动的那些部分 - 提供内容,与社交网络集成,管理会话 - 将更好地放置在MongoDB中

在这个(甚至不是一点点)具体的例子中我不理解的两件事:

  • 什么样的查询足够复杂,更适合MYSQL(这种查询的具体示例有很大帮助)?

  • 从" 与用户互动的应用程序部分 " 中分离出" 核心预订引擎 " 的界限在哪里?

我的关注不是理论上的,因为我们在我们的应用程序中同时使用MYSQL和MongoDB,更好地理解上述内容将真正帮助我们设计用于未来功能的数据库模型.

mysql relational-database mongodb nosql

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

如何在Aerospike中获得与正则表达式匹配的所有记录?

我有一百万条记录.我想检索匹配相同模式的所有记录.

例如,我可能有:

id=4444?mode=mode1?fieldA=abc
id=4444?mode=mode1?fieldA=azerty
id=4444?mode=mode1?fieldA=qwerty
id=4444?mode=mode1?fieldA=foo
id=4444?mode=mode1?fieldA=bar
Run Code Online (Sandbox Code Playgroud)

是否有可能在不事先知道fieldA?的值的情况下进行查询以获取所有上述记录?正则表达式中的这样的东西:

    id=4444?mode=mode1?fieldA=[\w]*
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间.

nosql aerospike

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

MongoDB查找查询后插入数据

我在Ubuntu虚拟机上使用MongoDB和Mongochef GUI。我需要执行一个查询,该查询将插入我之前找到的数据。

我怎样才能做到这一点?我认为是这样的:

db.createCollection("prueba", { capped : true, size : 5242880, max : 5000 } )
db.gmap.find( { emotion: 1 } )
db.prueba.insertMany(db.gmap.find( { emotion: 1 } ))
Run Code Online (Sandbox Code Playgroud)

GMAP是我拥有的其他集合,并且find查询返回所需的数据。谢谢

mongodb nosql mongodb-query

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

如何在Spring-data中更改/定义Mongodb的默认数据库?

我有从MongoRepository扩展的接口.他们正在使用mongodb的默认数据库.我想定义类的数据库名称.

public interface CustomerRepository extends MongoRepository<Customer, String> {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我该如何定义它?

spring mongodb nosql spring-data spring-boot

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

N1QL:向现有的Couchbase文档中添加新对象

是否可以使用N1QL?

例如我有这个:

{
"blog": "Coffee",
"user_id": 41,
"comments": [
    {
        "comment": "cup",
        "user_id": 883
    },
    {
        "comment": "water",
        "user_id": 790
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想使用N1QL在注释中添加糖,以得到以下结果:{“ blog”:“ Coffee”,“ user_id”:41,“ comments”:[{“ comment”:“ cup”,“ user_id”:883}, {“ comment”:“水”,“ user_id”:790},{“ comment”:“糖”,“ user_id”:14}]}

我尝试了这个:

UPDATE
    Blog
SET
    `c.comment` = "sugar",
    `c.user_id` = 14
FOR
    c IN comments
WHERE 
    `blog` = "Coffee" 
// [{"code":3000,"msg":"syntax error - at WHERE"}
Run Code Online (Sandbox Code Playgroud)

和这个:

UPDATE 
    Blog
SET
    ("comments", { "comment": "sugar", "user_id": 14})
WHERE
    `blog` = "Coffee"
//[{"code":3000,"msg":"syntax error - at ("}
Run Code Online (Sandbox Code Playgroud)

database json nosql couchbase sql++

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

如何在Firebase中过滤/隐藏属性

如何在Firebase中过滤/隐藏机密属性?

例如,如果我有一个数据存储:

"people": {
  "ivan": {
    "age": 23,
    "location": "Australia"
    "password": "123",
    "underGroundLover": "JLo"
  }
}
Run Code Online (Sandbox Code Playgroud)

我想隐藏password,并underGroundLover从普通观众,而他们能够获取节点ivan

根据我的理解,Firebase的授权/安全规则/节点获取逻辑只是“全有或全无”,因此,如果我想从节点中过滤掉一些秘密属性,我将不得不:

  1. 在将数据传递给用户之前,请使用我自己的服务器/ lambda过滤掉机密。这违背了BAAS的目的。

  2. 使用奇怪的非规范化数据结构来分隔公共可访问属性和需要权限的属性。这将引入大量的n + 1查询。

选项2的带有规则的非规范化数据结构将是这样的(我知道数据和规则并不在一起):

{
  "rules": {
    "public": {
      "people": {
        ".read": true,
        "ivan": {
          "age": 23,
          "location": "Australia"
          "passwordRef": "/non-public/people/ivan/password",
          "underGroundLoverRef": "/non-public/people/ivan/underGroundLover"
        }
      }
    },
    "nonPublic": {
      "people": {
        ".read": false,
        "ivan": {
          ".read": false,
          "password": {
            ".read": if(user === "ivan" || user.group = "admin" || user.group === "ivan's parent")
          },
          "underGroundLover": { …
Run Code Online (Sandbox Code Playgroud)

nosql data-structures firebase firebase-security firebase-realtime-database

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