草庐IT

Mongoose-Crate

全部标签

mongodb - Mongoose 的mapreduce函数错误

我正在尝试执行MapReduce函数,但是,我不知道为什么,它会返回下一个错误:{[MongoError:exception:assertionsrc/mongo/db/commands/mr.cpp:424]name:'MongoError',errmsg:'exception:assertionsrc/mongo/db/commands/mr.cpp:424',code:0,ok:0}我的代码:O.query={userto:id,userfrom:{$exists:true}};//"id"isavarO.map=function(){emit(this.userfrom[0],

node.js - 是否可以在 Mongoose 中使用 native mongodb 命令

这个问题在这里已经有了答案:Howtodorawmongodboperationsinmongoose?(6个答案)关闭8年前。我目前正在开发一个使用mongodb作为数据库的项目,它在服务器上有node.js并且正在使用mongoose包,我想知道是否可以在mongoose中使用nativemongodb命令。

node.js - 嵌入式文档的 Mongoose 枚举验证

我的Mongoose模式中有两个枚举验证器:varUserSchema=newSchema({facebookId:{type:Number,required:true,unique:true},fullName:{type:String,required:true},firstName:String,lastName:String,locale:String,gender:{type:String,uppercase:true,enum:['M','F']},matchPreferences:{gender:{type:String,uppercase:true,enum:['M',

node.js - 简单的 Mongoose 唯一验证我做错了什么?

我已经阅读了文档以及其他StackOverflow帖子,但我无法弄清楚我在这里做错了什么......这应该是一个简单的验证来检查唯一的字符串并根据对于文档和其他StackOverflow文章,这应该会引发错误并且不会保存重复记录。在这种情况下,它似乎根本无法验证...我曾尝试删除整个集合并再次运行该应用程序,结果却发现了相同的行为。我正在按照thispost中描述的推荐验证方式进行操作.在此先感谢您对我的帮助。NodeJS新手。bucket.js:varmongoose=require('mongoose');varSchema=mongoose.Schema;varbucketSch

json - Mongoose 返回空对象,在 mongo shell 中工作

我正在尝试使用mongoose(最新版本)从我的mongoDB获取返回的JSON对象。一切正常,但我得到一个返回的空数组[]。app.js/*///////////////////////////////////////////////////////////////////////////////////////////////////////////dependencies//////////////////////////////////////////////////////////////////////////////////////////////////////////

javascript - 在 Mongoose 模型中保存修改后的文档(带有修改后的子文档数组)

我目前的代码是:User.findOne({"subUsers.email":userEmail},{subUsers:{$elemMatch:{email:userEmail}}},function(err,user){if(user){varinformation=user.subUsers[0].information.id(id);information.arrayA.push({someId:"something"});user.save(callback(err));//Alsotriedinformation.save()//withoutluck}callback(er

node.js - Node js - 如何使用 Mongoose 填充多个 "Select"控件

我在expressjs中有一个项目,我正在使用Mongoose,我可以用以下内容填充选择控件:app.get('/new_alumno',alumno.create);但现在我想填充多个选择控件,但我不知道如何从我的Controller向我的View发送两个以上的值。我的app.js文件包含以下代码varexpress=require('express');varroutes=require('./routes');varuser=require('./routes/user');varhttp=require('http');varpath=require('path');//Ref

node.js - 多维数组的 Mongoose 模式解决方法

我正在编写一个必须为网格保存数据的网络应用程序。像战舰一样思考。我希望能够做到这一点:varblock=mongoose.Schema({type:Number,colour:String});varschema=mongoose.Schema({grid:[[block]]});然而,这似乎是不可能的,因为不支持多维数组。嘘!任何人都可以建议解决这个问题吗?我想要多数组格式的block,这样我就可以使用坐标来访问它们。 最佳答案 可能的解决方法是使用Schema.Types.Mixed。假设您需要创建一个2x2的block对象数组

node.js - 如何在 Mongoose 中自动创建必填字段

我有一个看起来像这样的Mongoose模式:varuserSchema=newSchema({username:{type:String,required:true,index:{unique:true}},usernameCanonical:{type:String,required:true,index:{unique:true}}});userSchema.pre("save",function(){this.usernameCanonical=this.username.toLowerCase();returnnext();});我希望只需输入用户名即可创建新用户,并让模型自动

node.js - mongoose文档删除后再次保存

我尝试使用mocha对我的restifynode.js-app进行单元测试,而不模拟mongodb数据库。由于某些测试会更改数据库,因此我想在每次测试前重置其内容。在我的测试中,我还需要访问我正在创建的Mongoose文档。因此,我必须在beforeEachHook之外定义它们(请参阅下面的user文档)。但是,清空数据库后,似乎无法再次保存文档。下面是我想出的一个最小示例。在这种情况下,第二次测试将失败,因为user不会被第二次保存。如果我删除第一个测试,beforeEach只会被调用一次并且一切正常。此外,如果我在beforeEachHook中定义user,它也能正常工作。所以我的