草庐IT

Mongoose-auth

全部标签

mongodb - 使用 MongoDB/Mongoose 对多个文档进行 Uspert

假设我有一个模型列表:constdocuments=[{},{},{}];我想将它们插入到数据库中,或者全部更新它们,但前提是满足条件:Model.update({isSubscribed:{$ne:false}},documents,{upsert:true},(err,result)=>{});上面的签名肯定是错误的——我想做的是在满足条件的情况下插入/更新文档。有这个批量API:https://docs.mongodb.com/manual/reference/method/Bulk.find.upsert/但我不知道它在插入多个文档时是否有效。 最佳

javascript - 如何在 Mongoose 中使用减号按对象属性排序?

我正在尝试通过对属性使用减号来对mongoose进行排序,如果我直接对属性进行操作,它似乎工作正常(两种方式)。所以这样的事情对我有用:.sort({name:-1})这也行.sort({'-name':-1})但是当我尝试根据子属性进行排序时,它只能以一种方式工作,{'payment.cash.budget':-1}以上查询工作正常。但以下内容不起作用:{'-payment.cash.budget':-1}为什么Mongoose会那样做?我不能(轻松地)使用“1”而不是“-1”,因为查询来自前端。Mongoose:4.13.0MongoDB:3.6 最佳答

mongodb - 没有重复的 Mongoose 帖子

我正在尝试查看不允许数据库中有多个实例(因此没有重复项)的发布/创建。我查看了带有{upsert:true}的updateOne,这对我不起作用,因为它仅在您有一组特定数据时才有效。示例数据:cat:{name:"jim",age:8}示例模型:cat:{name:String}我的代码:object.updateOne(req.body,req.body,{upsert:true},function(err,object){if(err)console.log(err);res.json(object);})}else{res.json('error:type:'+req.param

node.js - 如何在 mongoose pre updateOne Hook 中获取文档 _id?

我为我的模型做了updateOne并且在我的方案上有preupdateOneHook,如下所示:constschema=newmongoose.Schema({name:{type:String}});schema.pre('updateOne',asyncfunction(){fs.writeFileSync('./query.json',stringify(this,null,2),'utf-8');});constModel=mongoose.model('Model',schema);letres=awaitModel.create({name:"I'llbeupdatedso

javascript - 如何在 Mongoose 聚合中找到平均值

我正在汇总来自3个集合的数据-用户-[{"_id":"5bc425bb3e99c8269ce51faa","fname":"Akash","salary":25000,"age":23,"__v":0},{"_id":"5bc425e23e99c8269ce51fab","fname":"Aditya","salary":20000,"age":28,"__v":0}]余额-[{"_id":"5bc4349adcc885e047054466","fname":"Akash","balance":4000},{"_id":"5bc434ffdcc885e0470544c2","fname

javascript - Mongoose :查询数据数组并返回相同数量的结果

我有一个csv,它有类别列,有一些重复的类别名称,所以我制作了一个包含所有类别名称的数组,如:varabc=['A','A','B','A']//arraywithduplicatedata在这个例子中,A正在重复,所以当我用它查询文档时:CollectionA.find({categoryName:abc},function(err,data){if(err){console.log(err);}console.log(data);});但它只为A和B返回2个文档,但我想要与数组长度相同的行数我希望输出应该返回相同数量的行文档。 最佳答案

mongodb - 具有包含值的默认数组的 Mongoose 数组字段

Mongoosedocs建议为这样的数组字段覆盖[]的默认值:newSchema({toys:{type:[ToySchema],default:undefined}});我想要一个字符串数组,带有一个枚举和一个默认值(如果没有提供的话)。因此,如果未指定任何文档,则每个文档的类型都是“foo”,但文档可能是“foo”和“bar”。这可能吗? 最佳答案 虽然文档没有提及,但可以按照您期望的方式给出默认值。你可以有一个带有默认值的枚举数组,如下所示:newSchema({toys:{type:[{type:String,enum:['

mongodb - Mongoose aggregate Lookup - 如何按特定 id 过滤

我正在尝试制作一个聚合管道-$lookup以从另一个接收仅收集不等于特定_id的项目例如:诊所集合:{_id:1,name:'somename1'}{_id:2,name:'somename2'}{_id:3,name:'somename3'}业务集合:{_id:1,name:"somebusinessname",clinics:[1,2,3]}我的聚合管道查询:db.business.aggregate([{$match:{_id:mongoose.Types.ObjectId(businessId)}},{$lookup:{from:"ClinicsCollection",loca

mongodb - Mongoose 查询文档匹配数组,无论其元素顺序如何

使用MongoDB/Mongoose,考虑我的test集合包含以下2个文档:"_id":ObjectId("5c4e3cef9cd12904cfc7ecc0"),"name":"REGISTER1","properties":[{"property”:"PROP1","value":"GREEN"},{"property”:"PROP2","value":"RED"}]和"_id":ObjectId("5c4e3cef9cd12904cfc7ecc0"),"name":"REGISTER2","properties":[{"property":"PROP2","value":"RED"

node.js - Mongoose 聚合,在产品匹配时找到产品的祖先

抱歉标题不好,想不出更好的标题。我有一个父Product,它有一个空的ancestors数组。我也有ancestors的Products包含父级_id,称为variants和Productsancestors包括父级和名为options的变体_id。所有产品都在同一文档中,没有引用。父产品{productType:'simple'ancestors:[],title:"TestTitle",_id:"1"}变体产品{productType:'variant'ancestors:["1"],title:"TestVariant",_id:"2"}可选产品{productType:'opt