Tag: mongoose

如何获取json对象的数组而不是mongoose文档

当我find如下操作时: Collection.find({name: 'Erik'}, function (err, docs) { // do momething }); 'docs'variables填充了全functionmongoose文档的数组。 但是我需要获得一个纯JSON对象的数组。 我知道我可以通过forEach循环访问'docs'数组,并使用.toJSON()方法获取对象。 mongoose支持我感兴趣的function吗?

Mongoose中的Model.findOne()和Model.findById()有什么区别?

考虑我们正在根据_id值从MongoDB中search一个文档。 以下哪个代码是有效的? ModelObj.findById(IdValue).exec(callback); ModelObj.findOne({ '_id': IdValue}).exec(callback); 我觉得ModelObj.findById()是有效的,但是支持的原因是什么或者效率如何?

mongoose独特的validation错误types

我使用这个模式从npm的mongoose 3.0.3 : var schema = new Schema({ _id: Schema.ObjectId, email: {type: String, required: true, unique: true} }); 如果我尝试保存已经在数据库中的电子邮件,我希望得到一个ValidationError ,如果省略了required字段。 但是事实并非如此,我得到了一个MongoError: E11000 duplicate key error index 。 这不是一个validation错误(即使我删除了唯一的:true也会发生)。 任何想法为什么?

expressionjs错误:“明确反对res.sendfile:使用res.sendFile”

什么是正确的path设置? 在我的应用程序我这个代码我使用设置path发送文件。 app.get('/',function(req, res){//get,put,post,delete res.sendfile(__dirname + '/client/views/index.html'); }); 但它给这个错误: express deprecated res.sendfile: Use res.sendFile instead server.js:22:6 可以指点一下这里有什么错误

Passport-Local Mongoose – 更改密码?

我使用Passport-Local Mongoose来encryption帐户的密码。 但我不知道如何更改密码。 任何人都知道该怎么办? TKS

使用nodejs / mongoose部分更新子文档

是否可以使用Mongoose在(子)文档中一次设置多个属性? 我想要做的一个例子: 假设我有这个模式: var subSchema = new Schema({ someField: String, someOtherField: String }); var parentSchema = new Schema({ fieldOne: String, subDocs: [subSchema] }) 那我想这样做: exports.updateMyDocument = function(req, res) { var parentDoc = req.parentDoc; // The parent document. Set by parameter resolver. var document = req.myDoc; // Sub document of parent. Set by parameter resolver. var […]

mongoose:扩展模式

目前我有两个几乎相同的模式: var userSchema = mongoose.Schema({ email: {type: String, unique: true, required: true, validate: emailValidator}, passwordHash: {type: String, required: true}, firstname: {type: String, validate: firstnameValidator}, lastname: {type: String, validate: lastnameValidator}, phone: {type: String, validate: phoneValidator}, }); 和 var adminSchema = mongoose.Schema({ email: {type: String, unique: true, required: true, validate: emailValidator}, passwordHash: {type: String, required: true}, firstname: […]

MongoError:对_id的Mod不允许

在这里有几个问题,但我似乎无法find一个似乎是目前被接受的方法的解决scheme。 我试图更新MongoDB中的文档,我正在使用Mongoosejs来做到这一点。 但是,我收到这个错误: { [MongoError: Mod on _id not allowed] name: 'MongoError', lastErrorObject: { err: 'Mod on _id not allowed', code: 10148, n: 0, connectionId: 35, ok: 1 }, ok: 0, errmsg: 'Mod on _id not allowed' } 我用来进行更新的代码是: app.put('/task/:short', auth, function (req, res) { Task.findOneAndUpdate({short:req.params.short}, req.body, function(err, task) { if(err) console.log(err); res.json(200, {content: task}); […]

Node + Mongoose:获取最后插入的ID?

我想检索最后插入的_id ,使用mongoose作为node.js的MongoDB包装器。 我find了下面的教程,但是我不能更改任何节点模块,因为应用程序在公共服务器上运行: 获取“最后插入的ID”(提示 – 你必须破解mongoose) 任何其他的想法? 这是我想要做的: 插入新用户 获取用户的_id值 根据用户的ID设置一个新的会话 redirect到/ 谢谢!

Model.find()在mongoose中返回空白

我正在处理mongoose在mongodb中列出一个数据库中的所有数据: 从请求: http://localhost:3000/listdoc?model=Organization 我正在做下面的代码: exports.listDoc = function(req, res) { var Model = mongoose.model(req.query.model); //This is defined and returns my desired model name Model.find().populate('name').exec(function(err, models) { if (err) { res.render('error', { status: 500 }); } else { res.jsonp(models); } }); }; 我已经有我在数据库中的条目但上面的代码返回空。 为什么? 编辑:下面的代码也返回空: exports.listDoc = function(req, res) { var Model = mongoose.model(req.query.model); Model.find({},function(err,models){ console.log(models); if […]