Articles of 数据库

您将如何在NoSql数据库中对customer> order> ordertem> product进行build模?

我目前正在学习Node.JS,需要实现一个数据库。 所有的Node书籍似乎都认为MongoDB是最好的解决scheme,但似乎无法摆脱像Mongo和Couch这样的NoSQL数据库,我是MS SQL Server的家伙! 所以,我明白,你可以保持结构化的数据作为logging(JSON),但我不知道你如何build模一个典型的电子商务应用程序与以下(简化)表… customers (id, name, address) orders (id, customerID, orderDate) orderItems (id, orderID, productID) products (id, title, description, image) 所以,通常我会写这样的查询(但显然更好地优化)…. SELECT Customers.name, Products.title FROM (orders INNER JOIN customers ON orders.customerID = customers.id) INNER JOIN orderItems ON orderItems.orderID = orders.id INNER JOIN products ON orderItems.productID = products.id 如果我能看到一个如何在NoSQL数据库中工作的例子,那么我可能会开始“得到它”。 或者,我只是坚持使用MSSQL服务器或MySql,它们都与Node兼容吗?

节点的jpa或jdbc相当于什么?

我对节点相当陌生,我想知道是否有任何标准的,开放的API可以将我从所有不同的数据库特性中抽象出来。 任何与教程或文档的链接将非常受欢迎

在MongoDB中设置伪造的数据进行testing

我们有一个项目,我们需要创build一个虚假的数据库和假数据进行functiontesting。 最初,我们开始使用mongoose创build实体的脚本,初始化它们并保存它们。 var StudentA = new Student(); StudentA.name = "Bob"; StudentA.surname = "Marley"; StudentA.save(); 随着应用程序的增长和文件之间的关系增加,这个脚本变得绝对乱七八糟。 现在它成为了我们投资应用程序开发的瓶颈。 问题是,有没有更好的方法来做到这一点? 例如一个以更结构化的方式填充数据库的库? 或者,我们应该像csv文件parsing文件,然后推到mongo? 问题在于mongodb,但它可以推广到任何需要填充假数据的NO-SQL数据库。 (对于RDBMS来说,使用SQL语法更简单)

如何在Redis中插入散列映射数组? (Node.js的)

我正在使用Node.js模块node_redis: var data = [ {'name':'matt', 'id':'333' } , {'name':'Jessica','id':'492'} ] ; //Initialize Redis var redis = require('redis'), rclient = redis.createClient(settings.redis.port, settings.redis.host,{pass:settings.redis.password}); rclient.auth(settings.redis.password, function(){}); rclient.on("error", function (err) {}); //OK, insert the data into redis rclient.set("mykey", data); 当我set ,我得到一个错误,为什么? { stack: [Getter/Setter], arguments: undefined, type: undefined, message: 'ERR wrong number of arguments for \'set\' command' } […]

多语言界面和mongo /节点的内容

我们正在开发一个新的应用程序,将在网上saas模式。 用户将可以访问某些工具和一些教程如何使用它。 我的问题是什么是使多种语言(界面和内容)的最佳方法。 给你一个例子 – 想象下面的链接简单的导航: – 第一节 | -page a | – 页面b – 第2节 – 第3节 | – 页面 每个页面都包含明显的标签,标题,button等 我一直在寻找一段时间,我发现最接近的答案在这里: Schema为多语言数据库,但是,它描述了关于关系数据库的方法。 在研究其他问题后,看起来最好的方法是将每个section / page / label / title / button的名称作为一个ID保存在一个单独的表中,包括对象的ID,语言和内容。 在SQL世界里,简单的连接可以完成这个工作,但是因为我们使用的是Mongo,所以我猜这样做有更好的方法。

node.js存储gamestate,怎么样?

我正在用javascript编写一个游戏,为了防止作弊,我正在服务器上玩游戏(这是一个棋盘游戏,就像一个更复杂的跳棋)。 由于游戏相当复杂,我需要存储游戏状态以validation客户端操作。 是否有可能将游戏状态存储在内存中? 这很聪明吗? 我应该这样做吗? 如果是这样,怎么样? 我不知道如何工作。 我也可以在redis中存储。 这种事情对我来说很熟悉,不需要解释。 但是如果我使用redis进行存储,那么问题是,在每一次移动中,游戏都需要从redis获取数据,并解释和分析这些数据,以便从头开始重新创build游戏状态。 但是由于动作频繁发生,这对我来说似乎很愚蠢。 我该怎么办?

mongoose关系

我正在学习Mongodb,我正在使用Mongoose,我想创build一个非常dynamic的注册过程。 我pipe理使用护照注册的第一步,一切正常,我创build了用户,它在数据库中。 现在我的注册过程将继续,用户必须select一个“angular色”:你是什么types的用户? 有两个选项:“基本”和“高级”。 基本只有3个属性,高级有3个基本属性加上其他几个。 我需要扩展userSchema或添加基于该angular色的新字段,但一个星期后它不工作,我尝试了许多NPM如: mongoose-relationship或mongoose-schema-extend 。 这基本上是我所拥有的: userSchema = new Schema({ id : Number, email : { type: String, required: true }, role : { type: String, required: true }, profile : { … } // Profile fields are different for each role. }); // profile 1 basicSchema = new Schema({ info1 : […]

保持用户匿名 – 安全数据库唯一选项 – 一般思路?

我正在研究一个Web应用程序,在那里正在考虑如何保持用户的身份完全匿名。 但是我已经得出结论 ,除了专注于保护数据库免遭黑客攻击之外,我可以做的不多。 这是在StackOverflow的一般共识,还是有我可能错过了任何方法? 所以我想: 然而,直接的encryption哈希和盐会导致与用户联系的各种原因。 密码重置。 我可以保存恢复问题/答案,但当然,答案将需要可读性,以打败事情。 还有一点就是说他们忘记了这些安全问题或我在注册时产生的用户名。 没有办法将他们链接到一个帐户。 还有什么想到(假设我征服了上述)限制重复的用户。 如果我在加工过程中进行哈希/腌制search会相当“沉重”? 我可以简单地保留一个使用的电子邮件的长长的名单,但那么问题再次链接到一个现有的帐户? 有兴趣听到你的想法。 谢谢。

node.js传递variables

我正在寻找一些经验丰富的node.js程序员的方向。 我遇到的最大问题是将variables传递到单独的模块中。 例如在我的server.js我有以下几点: var db = mongoose.createConnection('localhost','test'); 现在我没有在server.js文件里面运行我的路由,他们被分成了自己的文件。 所以对于一个博客的例子可能是这样的: app.get('/blog/post/:id',function(req,res){ //do something here } 现在就是问题出现的地方。我不想在每个路由中设置数据库连接,更不用说我会认为这会造成大量的连接。 我该如何处理这个问题,是否有一个样例“真实世界”应用程序在那里,因为我似乎无法find任何关于这一点,我知道人们之前必须有这个问题。 我知道节点caching模块,但我不能想象它会caching连接,因为它是在自己的模块。 我创build了一个只保存站点configuration的configuration模块,因此需要这个我需要的地方不是问题。 我想还有其他的事情,我想要做到这一点,所以最好现在就明白这一点。 任何帮助表示赞赏。

我应该使用哪个数据库node.js?

我应该使用哪个数据库node.js? 我正在讨论MySQL和MONGO DB。