Articles of mongodb

是mongoose保存asynchronous?

mongoose&节点新。 我不知道如果mongoosedocument.save方法是asynchronous的。 我假设它是,因为即使没有连接,它也可以工作。 有什么方法可以告诉文档何时被保存(callback)?

如何导出只能在asynchronouscallback中使用的对象?

我有一个db.js文件,我在其中build立了一个MongoDB连接。 我想导出数据库对象到我的主app.js文件中: // db.js require('mongodb').MongoClient.connect(/* the URL */, function (err, db) { module.exports = db; }); // app.js var db = require('./db'); app.get('/', function (req, res) { db.collection(/* … */); // throws error }); 错误是: TypeError:对象#没有方法“集合” 那么,如何正确导出db对象呢?

如何检查Mongo的$ addToSet是否重复

我正在使用Mongoskin + NodeJS添加新的关键字到我的MongoDB。 我想通知用户该条目是重复的,但不知道如何做到这一点。 /* * POST to addkeyword. */ router.post('/addkeyword', function(req, res) { var db = req.db; db.collection('users').update({email:"useremail@gmail.com"}, {'$addToSet': req.body }, function(err, result) { if (err) throw err; if (!err) console.log('addToSet Keyword.' ); }); }); 结果似乎没有任何用处,因为它不告诉我关键字是否被添加。

抛出新的错误('必需的MongoStore选项`数据库'缺less');

当我启动我的本地节点服务器时,我得到以下内容。 调用数据库 mongoose.connect('mongodb://localhost/mays'); app.locals.db = mongoose.connection; 错误信息 C:\var\www\stage.mayfieldafc.com\node_modules\connect-mongo\lib\connect-mongo.js:157 throw new Error('Required MongoStore option `db` missing'); ^ Error: Required MongoStore option `db` missing 从Mongoos.connection输出 { base: { connections: [ [Circular] ], plugins: [], models: { User: [Object] }, modelSchemas: { User: [Object] }, options: { pluralization: true } }, collections: { users: { collection: null, opts: […]

一对一与mongoose的关系?

我知道如何在Mongoose实体之间build立一对多的关系,使用下列types的代码: friends: [{type: ObjectId, ref: 'User'}] 但是如果我只想要一对一的关系呢 – 比如这个用户和哪个客户端有关系?

如何在Node.js中从MongoDB返回JSON?

我有一个叫做pokemon的mongodb数据库,里面有一个名为pokemon的集合。 这里是我尝试编写一个函数,它将在mongodb中执行find()操作: 'use strict'; var MongoClient = require('mongodb').MongoClient; var assert = require('assert'); // db url var url = 'mongodb://localhost:27017/pokemon'; exports.getPokemonByName = function (name) { MongoClient.connect(url, function(err, db) { assert.equal(null, err); var cursor = db.collection('pokemons').find({name: name}); // how to return json? }); }; 然后我在另一个文件中调用这个函数: var express = require('express'); var router = express.Router(); router.get('/pokedex', function (req, res) […]

护照不保持持久login会话

我首先看护照,mongodb和快递持续会议,但没有帮助或没有意义。 我正在尝试持续login我的网站 。 我的序列化过程不起作用。 // Passport needs to be able to serialize and deserialize users to support persistent login sessions passport.serializeUser(function(user, done) { console.log('serializing user:',user.username); //return the unique id for the user return done(null, user._id); }); //Desieralize user will call with the unique id provided by serializeuser passport.deserializeUser(function(id, done) { User.findById(id, function(err, user) { console.log('deserializing […]

使用Node.js通过其独特的_id更新多个MongoDB对象

基本上我试图根据他们唯一的objectID(_id)更新我的Mongo数据库上的多个对象。 我尝试了以下,但他们没有工作: var new_arr = []; for (var i = 0; i < req.body.length; i++) { // req.body is an array received from the POST request. new_arr.push({"_id": new mongodb.ObjectID(req.body[i])}) } console.log(new_arr); // new_arr is not accepted since an object is expected. job_applications.updateMany( new_arr , { $set: {"application_status": "rejected"} }, function (err, results) { console.log(results); console.log(err); […]

在NodeJS中打开持久(mongo)数据库连接的最佳方法是什么?

我正在使用节点mongodb本地驱动程序,我正在寻找一种方式来打开一个持久的数据库连接,而不是每次打开/closures它。 简化的连接可能看起来像这样… var DB = new mongo.Db('vows', new mongo.Server("127.0.0.1", 27017, {})), connection = DB.open(function(err, db) { // Here we have access to db }); 我怎样才能使我的应用程序中的任何模块的db对象访问? 而不是分别打开每个模块的连接? 这可以使用module.exports完成吗? 还是一个全局variables?

我可以通过Mongo中的嵌套数组中的元素进行sorting吗?

比方说,我有一个在MongoDB中的对象具有嵌套数组的集合。 我想基于数组的特定元素的值进行sorting。 这可能吗? 例如(我只是做了这个例子),如果我有一个电影types(动作,喜剧,浪漫)和用户提交的例子集合,我可以find所有对象提交给定的用户提交sorting的电影date? 例如,我想find“Aaron”提交示例的所有types,按“Aaron”示例的年份sorting。 它几乎就像一个需要在哪里的条款。 > db.movi​​es.find()。pretty(); { "_id" : ObjectId("4f2f07c1ec2cb81a269362c6"), "type" : "action", "examples" : [ { "title" : "Gladiator", "year" : 2000, "submitter" : "Aaron" }, { "title" : "Mission Impossiple", "year" : 1996, "submitter" : "Bill" }, { "title" : "The Terminator", "year" : 1984, "submitter" : "Jane" } ] } […]