草庐IT

sinon-mongoose

全部标签

mongodb - Mongoose 将 Number 作为 Int32 或 double 插入,如何强制始终使用 double,就像 shell 一样

当字段是Number类型时,mongoose会根据实际值将其插入为Int32或double:5->Int325.3->双实际上,同一字段根据插入的实体具有不同的类型。这不是从javascript读取/写入的问题,因为两者都已转换为数字。但是,如果您同时使用来自两种类型的强类型语言(如C#)的驱动程序,这就会成为一个问题。是否可以将mongoose配置为始终插入数字,就像mongoshell那样? 最佳答案 使用mongoose-double为此输入。 关于mongodb-Mongoose

node.js - 如何使用 Mongoose 向现有文档添加属性?

我在数据库中有一个现有的用户对象。我修改了我的models/user.js以将属性“isAdmin”添加到用户模式。,isAdmin:{type:Boolean,default:false}但现在当我保存文档时(即:我更新我的个人资料)。当我在我的应用程序中使用console.log(user)时会显示isAdmin属性...(如预期的那样是错误的)...但是当我直接转到mongo数据库控制台时,它不存在于现有文档中。如果我创建一个新的用户对象,isAdmin属性存在于新文档中。如何将此属性添加到现有文档,以便它直接显示在数据库中?编辑:我决定添加一个role属性,并且只修改特定用户,

node.js - 如何在nodeJs上查询mongoose中的两个集合?

嗨,我是nodeJs的新手,我必须从查询结果中查询一个表,我必须查询另一个表。我尝试了如下代码,但它只返回null。action(functiongetpositions(req){varnamearray=[];NHLPlayerStatsDaily.find({"created_at":{$gt:newDate(y+"-"+m+"-"+d)}},function(err,position){if(!err){for(i=0;i如果我只是按“p”,它会显示结果,当我在单独的函数中查询“NHLTeam”时,它也会显示结果。使用incollection查询集合时,它返回null。如何在M

node.js - Mongoose OR 模式验证

我有一个字段,它将是两个对象之一(存储的信用卡或给定的信用卡):payment_method:cc_token:Stringsecurity_code:Stringpayment_method:number:Stringsecurity_code:Stringexpiration_month:Numberexpiration_year:Numberbilling_address:_type:Stringfirst_name:Stringlast_name:Stringaddress_line1:Stringaddress_line2:Stringzip_code:Stringcity:

node.js - Mongoose - 如何指定和删除依赖关系?

这个问题在这里已经有了答案:AutomaticallyremovereferencingobjectsondeletioninMongoDB(7个答案)关闭9年前。对于MongoDB和Mongoose,我如何才能将对象标记为依赖于它们的关系,以便在删除父对象时,也将删除依赖于它的所有子对象。例如,删除作者后,如何自动删除该作者的所有文章?varAuthorSchema=newSchema({created:{type:Date,default:Date.now},name:{type:String,default:'',trim:true}});varArticleSchema=new

node.js - 如何在 Mongoose 的数组中使用不同类型的模式?

我有这个架构:varUserSchema=newSchema({documento:[]});和这种类型的文件:varRgSchema=newSchema({tipo:'RG',numero:stringType(),orgaoEmissor:stringType(),dataExpedicao:dateType()});varCpfSchema=newSchema({tipo:'CPF',numero:stringType()});如何在documento:[]中设置不同类型的架构(RgSchema或CpfSchema)?这样的:documento:[RgSchema||CpfSch

javascript - 在另一个函数中创建 Mongoose 连接时不调用查询回调

如下所示,当我在创建并打开mongoose连接后立即查询时,会触发查询回调并加载文档。vardb,mongoose=require('mongoose');...MyClass.prototype.query=function(model,criteria,callback){varoptions={server:{auto_reconnect:true,socketOptions:{keepAlive:1}}};mongoose.connect('mongodb://localhost/mydatabase',options);db=mongoose.connection;db.on

node.js - MongoDB,使用Mongoose重复键错误索引?

我有一个MEN(MongoDB、Express、Node)应用程序,当我插入第一个项目时一切都很好,但是当我想添加第二个项目时我得到这个错误:E11000duplicatekeyerrorindex:local.movies.$title_1dupkey:{:null}如果我然后删除第一行,然后再次插入一个项目,它就可以工作,但是当我想添加第二个项目时,我再次出现错误。我真的在这个问题上拉扯我的头发,似乎找不到问题:(希望有人能帮助我:)顺便说一句,我如何从命令行访问我的表?我尝试了db.movi​​es.find()、movies.find()和其他选项,但没有任何反应,当我键入sh

node.js - Mongoose 不会将嵌套对象保存在另一个嵌套对象中

通常在mongoose中保存嵌套的对象,通过父亲的调用方法save,但是如果我们有两层约定,祖父,父亲[nested],儿子[nested],儿子是不会通过父亲的调用方法save来保存的.祖父->组varschema=newmongoose.Schema({name:String,days:[mongoose.Schema.Types.Day],});module.exports=mongoose.model('Group',schema);父亲->日varschema=newmongoose.Schema({_id:Number,matches:[mongoose.Schema.Ty

node.js - 如何在 Mongoose 模式中定义触发器

当成员集合的数量达到100时,在mongoose模型级别是否有任何类型的触发器提供设置open字段的值=false的能力?varmongoose=require('mongoose');varSchema=mongoose.Schema;varlistSchema=newSchema({name:{type:String,required:true,trim:true},desc:{type:String},open:{type:Boolean,default:true},members:[{userid:{type:Schema.Types.ObjectId,ref:'User'},