Tag: 数据库

在每个请求上最好有一个从节点或连接到memcached / mongo的全局连接?

我是(重新)写一个PHP的节点,具有非常高的使用api; 它使用memcached,并且当前连接到memcached,执行它的业务,并在每次php文件运行时closures,即每次访问api页面。 现在有了节点,我们正在build立http服务器本身; 我可以定义一个全局的memcached连接并使用它: var mclient = new memcache.Client(server, port); // This would only run after mclient has connected http.createServer(function (req,res){ // stuff involving mclient }).listen(8888); 或者我可以把它放在createServercallback中。 同样的问题也适用于mongodb连接。 我该怎么办?

url表示

我想知道如何有效地存储在一个数据库中的网站url(mongoDB在我的情况)… 问题:它应该被索引来实现快速的查询性能,但是mongo允许只有字节小于1024字节的索引。 我想过哈希或base64来缩小url…但由于我使用单线程的networking服务器(node.js),我不想在它上面做沉重的东西… 有没有关于其他方式来实现这一点的好主意(替代表示应该是唯一的…)?

获取不是特定string的字段

我想从MongoDB中获得没有 "name":"John"字段的文档"name":"John" (只是一个例子)。 我怎样才能做到这一点? 为了获得具有"name":"John"字段的文件"name":"John"我使用: db.col.find({"name":"John"}) 我已经尝试过…find(!{"name":"John"}) 。

MongoDB(Node.js)找不到预期的结果

我正试图从节点发现到一个mongodb服务器。 这里是代码: var mongo = require('mongodb'), Server = mongo.Server, Db = mongo.Db; var mongoServer = new Server(10.141.74.74, 28019,{auto_reconnect: true, safe:true}); var db = new Db("statusReport", mongoServer, {safe:true}); db.open(function(err,db){ if(!err){ db.collection("status",function(err,collection){ if(!err){ collection.find({}, function(a,b){ console.log(a); console.log(b); }); }else{ console.log("ERROR: could not open collection"); } }); db.close(); }else{ console.log("ERROR: could not open database"); } }); 但是,不是返回数据,而是返回这个: { […]

mongoose双向模式/多对多的关系

mongoose相当新,所以我正在寻找最好的方法来做到这一点。 我有两个模型: Users和Companies 。 用户可以有很多公司,公司可以有很多用户。 现在我的公司Schema看起来像这样: CompanySchema = new Schema name: type: String unique: true slug: type: String users: [ type: Schema.Types.ObjectId ref: 'User' ] 然后我可以使用.populate('users')来获取关联用户的列表。 那里没问题。 我想知道的是,让所有companies与user相关联的最有效/最好的方法是什么? 我不想像上面那样做,因为列表可能会不同步。 有没有办法,当我更新公司的用户,用户的公司也更新? 理想情况下,我可以做User.find().populate('companies')

通过ID查找MongoDB文档

我使用Node.js和MongoDB与MongoHQ(现在compose.io)上托pipe我的数据库。 我有一个普遍的理解文件ID转换为hexstring,但我不知道如何检索使用其ID的文件。 我的文档具有ID _id: ObjectId("53f13064b5a39cc69f00011b")就像它在Compose的界面中显示的一样。 当我通过蛮力检索文档时,ID显示为_id: 53f13064b5a39cc69f00011b 。 我在Node.js中使用什么来检索这个文档? 查询: systemData.find({_id: "53f13064b5a39cc69f00011b"}).toArray(function(err, data) {//do stuff} 返回一个空集,但查询对象ID对象也是如此 systemData.find({_id: new ObjectID("53f13064b5a39cc69f00011b")}).toArray(function(err, data) {//do stuff} 我错过了什么?

如何通过Promise重用MongoDB连接

我想重用MongoDB连接。 我知道如何在node.js中重用mongodb连接我想要使​​用Promises和Mongo驱动程序v2 目前我必须连接到数据库的每一个请求,使其缓慢。 这是我的代码 "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; }); […]

DynamoDB和Node Js:意外的令牌h

我试图与DynamoDB竞争Node js亚马逊入门指南。 我试图创build一个表,但这里是我的错误: Unable to create table. Error JSON: { "message": "Unexpected token h", "code": "SyntaxError", "time": "2016-05-06T16:59:50.411Z", "statusCode": 200, "retryable": false, "retryDelay": 0 我正在运行以下节点(直接从亚马逊开始指南): var AWS = require("aws-sdk"); AWS.config.loadFromPath('./.aws/credentials.json'); AWS.config.update({ region: "us-west-2", endpoint: "http://localhost:8000" }); var dynamodb = new AWS.DynamoDB(); var params = { TableName : "Movies", KeySchema: [ { AttributeName: "year", KeyType: "HASH"}, […]

节点js mongodb数据库连接错误无法连接到服务器

C:\ mynodeprojects \ test> node app在300上启动服务器无法连接到服务器[localhost:27017] [MongoError:geta ddrinfo ENOENT localhost:27017] 套餐: – { "name": "test", "version": "1.0.0", "description": "simple test app", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "hukam thakur", "license": "ISC", "dependencies": { "express": "^4.16.2", "mongodb": "^2.2.33", "mongoose": "^4.10.8", "sudo": "^1.0.3" } } 数据库连接在这里: – var […]

最好的方式查询附近经纬度的数据库?

我有一个集或lat / longs存储在一个数据库。 我想查询数据库,并返回在另一个经纬度范围内的文件。 我知道如何确定两组之间的距离,但是我不想为db中的每个条目都做这个。 达到这个目标的最好方法是什么? 非常感谢。