Tag: mongodb

在meteor中使用Mongo聚合

我有我的collections如下: id: 'some_id' items: [ {name:x}, {name:y} ] 当我做collection_object.find({id:'some_id'},{items:1,_id:0}) ,它返回一个对象,而不是实际的数组。 然后我跟着这里的答案 ,并使用我的meteor帮手中的aggregate函数,而不是查找。 新的呼叫是: collection_object.aggregate({$match:{id:'mseb'}}, {$unwind:'$items'} ) 这提出了aggregate未定义的错误。 两个问题: 1.如果find调用返回一个包含数组的对象,那么如何访问模板中数组的单个元素。 使用{{this.items}}再次显示一个数组,“对象”和{{this.items.name}}是未定义的。 2.如果不是1,那么怎样才能和meteor合作。 更新:我遵循meteorhacks:聚合的方法,但也给出了相同的结果。 下面的答案为我工作。

mongodb和谷歌地图 – 获取半径没有不准确的地点

我在mongodb模式下存储了如下所示的位置: location: { type: [Number], index: '2d' } 而在networking客户端,我使用谷歌地图API与自定义半径resize: 在每次拖动我正在请求与客户端上计算的半径值。 半径是粉红色箭头标记和中心坐标之间的距离: function metersToMiles (meters) { return meters * 0.000621371192; } google.maps.event.addListener(this.sizer, 'dragend', () => { const radius = this.circle.getRadius(); const radiusValue = Math.round(metersToMiles(radius) * 10) / 10; // convert to tenths (this is shown on UI as well) this.props.onRadiusChange(radiusValue); // it's a react component }); […]

在一个查询mongoose多更新

是否有任何方式来执行这个查询在mongoose? 这个多重更新是可能的从mongodb v2.6 { update: <collection>, updates: [ { q: <query>, u: <update>, upsert: <boolean>, multi: <boolean> }, { q: <query>, u: <update>, upsert: <boolean>, multi: <boolean> }, { q: <query>, u: <update>, upsert: <boolean>, multi: <boolean> }, … ], ordered: <boolean>, writeConcern: { <write concern> } } 我发现这个话题,但它的相当古老: Mongodb多不同的值更新 thx每个人的build议

线路以奇怪的顺序运行

我会尽量保持这个尽可能简单。 以下function似乎以非常奇怪的方式运行。 我从testing中得到的输出是1,4,3,2(带有一个空的returnList)。 这似乎表明,这些代码块内部的代码最后得到执行,正如您可能会猜到的,当我想要返回returnList时会产生一些问题。 var server = new mongo.Server('localhost', 27017); var db = new mongo.Db('tdp013', server); app.get('/getall', function (req, res) { var returnList = []; console.log("1"); db.open(function(err, client){ client.collection("messages", function(err, col){ col.find({}, function(err, cursor){ cursor.each(function(err, item){ if(item!=null){ console.log("2"); returnList.push(item); } }); console.log("3"); }); }); }); console.log("4"); console.log(returnList); res.sendStatus(200); }); 我的问题只是这个,有没有一个很好的解释(缺less一个更好的词),为什么/如何不按照书面顺序执行这些行? 或者,有没有办法返回returnList没有在迭代?

Sails.js是从商店清除的会话

我环顾文档,似乎无法find这个。 我正在使用MongoDb作为我的应用程序的会话存储。 我已经设置我的会话cookie 10分钟后过期session.js文件中的以下内容 cookie: { maxAge: 10 * 60 * 1000 } 当cookie过期时,从会话存储中删除logging? 或者我需要通过在集合上设置一个TTL手动在mongo中完成? 喜欢: sails.sessions.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 600 } )

mongooseSSL,连接不被接受

所以我花了一点时间来设置SSL和授权的repl集。 但是,我已经build立并最终工作,并可以通过命令行连接提供适当的参数。 我试图用mongoose做同样的事情,但是我不断收到mongodb日志中的错误,如下所示: AssertionException handling request, closing client connection: 17189 The server is configured to only allow SSL connections即使我指定所有ssl选项。 我的代码如下: var m = require('mongoose'); var key = fs.readFileSync('/home/node/mongodb/mongodb.pem'); var ca = [fs.readFileSync('/home/node/mongodb/ca.pem')]; var o = { server: { sslValidate:true, sslCA: ca, sslKey: key, sslCert:key }, user: '****', pass: '****' }; m.connect('mongodb://dbAddr/dbName', o) 我已经尝试设置sslValidate为false ,同样的问题。 我已经尝试了没有CA,证书和/或密钥在多个组合。 […]

MMO服务器崩溃node.js和mongodb

所以我一直在按照这个教程系列这个家伙谁是系列是没有帮助,但是当我跑我收到这个错误,有没有人有过这个错误之前,或知道如何解决它请帮助我 "C:\Program Files (x86)\JetBrains\WebStorm 10.0.4\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" server.js –env=test test Loading Initializer: 00_packetmodels.js Loading Initializer: 01_mongodb.js js-bson: Failed to load c++ bson extension, using pure JS version Loading Model: user.js Loading Map: prison_1.js Initialize Completed, Server runnng on port: 8082 for environment: test c:\Users\poeketis\WebstormProjects\Prison rp\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\base.js:246 throw message; ^ TypeError: Cannot read property 'length' of undefined […]

Mongoose如何添加一个方法来模拟每次更新或创build文档时执行的模式?

我有一个mongoose模式,其结构有点像这样 – var SaleSchema = new Schema({ name: String, creation_datetime: {type: Date, default: Date.now}, account_from: {type: Schema.ObjectId, ref:'Account'}, account_to: {type: Schema.ObjectId, ref:'Account'}, transaction: { items: [{ ref: { type: Schema.ObjectId, ref:'Item' }, name: { type: String }, quantity: { type: Number }, cost: { type: Number }, discount: { type: Number }, pricePerUnit: { type: […]

Nodejs – 如果连接断开,Moongose查找不会抛出错误

我正在使用以下来连接到我的mongodb。 我对密码进行了拼写错误,authentication失败,但直到我进行了模型search,而不是发现错误,它才挂起。 如果没有开放的连接,模型应该抛出错误而不是挂起? mongoose.connect(uristring, function (err, res) { if (err) { console.log ('ERROR connecting to: ' + uristring + '. ' + err); } else { console.log ('Succeeded connected to: ' + uristring); } }); User.findOne({ 'valid.email': Email }, function(err, user) { if (err) { callback({ this is never called }); }

我正在使用mongoose,并希望去所有的成员,并单独使用每个研究的结果

我正在使用mongoose,并希望去所有的成员,并分别使用每个研究的结果: 每次我使用Model.find() ,我都会得到null。 我不知道如何单独search所有元素。 下面的代码包含了我所做的 async.waterfall([ function (done) { user.find({}).exec(function (err, user) { done(err, user); }); }, function (user, done) { console.log(user.firstName); } ], function (err) { console.log(err); }); 谢谢你的帮助!