Tag: 数据库

Sails.js水线查询通过关联

我正在开发和应用Sails.js并使用Waterline orm for db。 我正在开发function为用户做朋友请求和其他类似的请求。 我有以下URequest模型: module.exports = { attributes: { owner: { model: 'Person' }, people: { collection: 'Person' }, answers: { collection: 'URequestAnswer' }, action: { type: 'json' //TODO: Consider alternative more schema consistent approach. } } }; 基本上所有者是与发出请求的人的联系,并且人是与请求被指示的所有人的一对多联系。 到目前为止罚款。 现在我想有一个控制器返回所有请求,其中某个用户参与意味着所有的请求,其中用户是在所有者领域或在人。 我如何做查询就像“给我所有的行与人P的关联”? 换句话说,我如何知道哪个URequest模型与某个Person有关联? 我尝试了这样的事情: getRequests: function (req, res) { var personId = req.param('personId'); […]

Mongoose:引用“Schema.ObjectId”而不是直接使用模式名称之间的区别?

假设我有以下MessageSchema模型: var MessageSchema = new Schema({ userId: String, username: String, message: String, date: Date }); mongoose.model('Message', MessageSchema) 有人可以告诉我会议模型的以下两个实现之间的区别吗? 谢谢。 var Meetings = new Schema({ _id: ObjectId, name: String, messages: [MessageSchema], … }); var Meetings2 = new Schema({ _id: ObjectId, name: String, messages: [{type: Schema.ObjectId, ref: 'Message'}], … });

我可以用kue / node.js保存数据吗?

我目前正在使用kue / node.js https://github.com/Automattic/kue 我创build并保存作业后,数据将在我的本地Redis服务器中。 var job = queue.create('new_job', { title: 'welcome email for tj' , to: 'tj@learnboost.com' , template: 'welcome-email' }).save( function(err){ if( !err ) console.log( job.id ); }); Redis Cli 127.0.0.1:6379> keys * 1) "q:job:12" 2) "q:jobs:inactive" 3) "q:stats:work-time" 4) "q:ids" 5) "q:job:11" 6) "q:job:7" 7) "q:search:object:13" 8) "q:search:word:TTL" 9) "q:search:object:2" 10) "q:jobs:new_job:inactive" […]

在Cloudant DBsearchAPI中使用angularjs和node.js后端

我正在尝试使用searchAPI从我的node.js后端search我的云数据库,然后显示网页上返回的内容。 我正在使用一个angular度MVC,我有点新,所以很抱歉,如果这有点简单。 我有一个包含这个HTML的前端 – <button class="btn btn-default" ng-click="getDataandHeadings()"></button> <table> <tr ng-repeat="doc in myData"> <td>{{doc.doc.TerritoryTypeName}}</td> <td>{{doc.doc.TeamOwnerSerialNo}}</td> <td>{{doc.doc.TeamOwnerName}}</td> <td>{{doc.doc.TeamOwnerNotesID}}</td> <td>{{doc.doc.SellerSerialNo}}</td> <td>{{doc.doc.SellerName}}</td> <td>{{doc.doc.SellerNotesID}}</td> </tr> </table> 控制器 – 'use strict'; var app = angular.module('app', false); app.controller('greetingscontroller', function($scope, $http) { $scope.getDataandHeadings = function() { $http.get('/retrieve').success(function(data) { $scope.myData = data; }).error(function(err) { //handle the error }); }; }); 后端节点应用程序 – var […]

通过API将video信息插入数据库

我有一个自己的Youtubevideo数据库。 它包含的内容到目前为止是这些特定video的ID; 也可以在video链接中find。 我正在寻找一种方法,我可以使用Youtube API和MySQL将它们的标题和描述插入到数据库中。 通过使用MySQL的NPM ,我可以连接到数据库,但asynchronous的性质使我困惑了一下。 这是我的原始(不完整)代码: var request = require('request'); var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : (this is secret) database : 'video_db' }); connection.query('SELECT id FROM videos', function(err, rows, fields) { if (err) throw err; for(i=0;i<rows.length-1;i++){ var APIkey = (this is also secret) […]

在使用db.colse()之前,如何确保db调用已完成?

var storedArticleArray = db.collection('storedArticle').find(query).toArray; console.dir(storedArticleArray); db.close(); 我怎样才能确保console.dir(stroedArticleArray)只有在数据库完成查询并将结果存储在存储的storedArticleArray后,显示其参数? 在查询完成之前, db.close()也不closures。 这是否工作: var storedArticleArray = db.collection('').find(query).toArray(function() { console.dir(storedArticleArray); db.close(); });

用knex.js插入嵌套logging

我们有一个数据库模式如下: students表 | id | 名字| 地址| 一个学生有多个教育历史。 education_histories表 | id | 度| 大学| student_id | student_id是指向学生表的外键 我们从客户端获得JSON结构,如下所示: { "name" :"Ram Neupane", "address": "Kathmandu, Bagmati", "education_histories": [ { "degree": "I.Sc.", "university": "Tribhuvan University" }, { "degree": "BE", "university": "Tribhuvan University" } ] } 我是Node.js和Knex.js的新手 。 我想用Knex的蓝鸟承诺在数据库中插入student和嵌套的education history 。 我怎么解决这个问题。 我已经尝试了以下诺言: function create (jsonParam) { return […]

访问在Docker容器内运行的数据库?

我有一个MariaDB并在Docker容器中运行。 我想知道如何从Docker容器中的本地(而不是)运行的应用程序连接到它。 我怎样才能打开访问?

当通过节点JS插入时,Mongo shell不显示集合(命令显示集合)

这是我的项目url-shortener目录 我有一个涉及使用MongoDB的Node JS应用程序。 它工作正常,因为我尝试插入,查找和打印数据从MongoDB到节点JS文件server.js中的控制台。 但是,如果我打开一个Mongo Shell并键入show collections ,则什么也不显示。 以下是我如何build立MongoDB连接: mongod –dbpath …path-to-project/url-shortener/data , 这里是我用来连接我的server.js文件的url: var dbUrl = "mongodb://localhost:27017/url-shortener";

我怎样才能将(concat)两列合并到RethinkDB中

我有一个这样的桌子: { "id": "8ce79ff2-3c33-4a44-87e8-7d4559436ae0" , "name": "Doe" , "prename": "John" }, { "id": "3e611d37-ee45-4af3-96ad-aba09a450d2c" , "name": "Reese" , "prename": "John" } 现在我想收到这样的一列中的名字: {"name": "John Reese"}, {"name": "John Doe"} 我怎样才能结合这两列(与空白)? 我试过这样的东西,但没有奏效。 r.db("bs2").table("customers").map(function(doc){ return doc("name")+doc("prename"); }); 我得到了这个结果: "var_44("name")var_44("prename")" "var_44("name")var_44("prename")" 另外我试图用.add .map,但它没有奏效。 当我得到一个结果它返回的东西与var_xx(“名称”),但没有像string组合它。 也许我需要一个函数,从对象中返回string,但我没有find文档中的东西。 问候,droidsheep