Tag: 关系数据库

哪个数据库用于存储许多用户的地理位置(坐标),并检查它们是否实时相互靠近?

IOS应用程序会通过REST API随时发送坐标到服务器。 在服务器内部的数据库注册用户与他们的坐标存储。 每个用户可能有许多他想追踪的朋友,如果他们离他很近的话。 因此,在每次坐标更新(来自用户)之后,服务器必须检查他的朋友是否接近他(半径也存储在每个用户的数据库中)。 它必须处理许多用户。 如此多的写入数据库的时间,每写完之后就有计算附近的朋友。 作为服务器技术,我想使用node.js,但我想知道哪些(或什么types的数据库)使用? 有没有任何数据库可以帮助所有的地理定位计算,或者对这种计算特别“调整”? 你会推荐什么?

书架JS关系 – 获取计数

我试图让用户数属于特定的公司。 这是我的模型; var Company = Bookshelf.Model.extend({ tableName: 'companies', users: function () { return this.hasMany(User.Model, "company_id"); }, users_count : function(){ return new User.Model().query(function(qb){ qb.where("company_id",9); qb.count(); }).fetch(); }, organization: function () { return this.belongsTo(Organization.Model, "organization_id"); } }); 方法“用户”工作得很好,没问题。 方法“users_count”查询运作良好,但不能得到“公司”模式的价值。 在路线上,我使用这样的书架模型; new Company.Model({id:req.params.id}) .fetch({withRelated:['users']}) .then(function(model){ res.send(model.toJSON()) }) .catch(function(error){ res.send(error); }); 我应该如何使用users_count方法,我有点困惑(可能是因为承诺)

SailsJS上的外键约束

这是我的大学模式 module.exports = { attributes: { name:{ type:'string', required:true }, location:{ type:'string', required:true }, faculties:{ collection:'faculty', via:'college' } } }; 这是我的师资模式 module.exports = { attributes: { name:{ type:'string', required:true }, description:{ type:'string' }, college:{ model:'college', required:true } , years:{ collection:'year', via:'faculty' } } }; 我的问题是,我可以添加新的Faculty在college属性中的任何价值。 如果我没有3000学分的大学,我仍然可以添加它,但college属性不会出现在我列出所有院系。 如何防止添加无效的大学ID教师?

将大型XML文件转换为关系数据库

我试图找出完成以下的最佳方法: 从第三方网站每天下载一个大的XML(1GB)文件 将该XML文件转换为我的服务器上的关系数据库 添加function来search数据库 对于第一部分,这是需要手动完成的,还是可以用cron来完成? 与XML和关系数据库相关的大多数问题和答案都是指Python或PHP。 这可以通过javascript / nodejs来完成吗? 如果这个问题更适合不同的StackExchange论坛,请让我知道,我会把它移到那里。 以下是xml代码的示例: <case-file> <serial-number>123456789</serial-number> <transaction-date>20150101</transaction-date> <case-file-header> <filing-date>20140101</filing-date> </case-file-header> <case-file-statements> <case-file-statement> <code>AQ123</code> <text>Case file statement text</text> </case-file-statement> <case-file-statement> <code>BC345</code> <text>Case file statement text</text> </case-file-statement> </case-file-statements> <classifications> <classification> <international-code-total-no>1</international-code-total-no> <primary-code>025</primary-code> </classification> </classifications> </case-file> 以下是关于如何使用这些文件的更多信息: 所有XML文件将采用相同的格式。 每个logging中可能有几十个元素。 这些文件每天都由第三方进行更新(并在第三方网站上以压缩文件forms提供)。 每一天的文件代表新的病例文件以及更新的病例文件。 目标是允许用户search信息并在页面上(或生成的pdf / excel文件)组织这些search结果。 例如,用户可能希望查看在<text>元素中包含特定单词的所有案例文件。 或者用户可能想要查看包含主要代码025( <primary-code>元素)以及在特定date( <filing-date>元素)之后提交的所有案例文件。 input数据库的唯一数据将来自XML文件 – 用户不会将任何自己的信息添加到数据库中。