草庐IT

mongoose-dbref

全部标签

node.js - 如何在不覆盖当前数据的情况下更新 Mongoose 中的混合类型字段?

我有以下架构varmongoose=require('mongoose');varSchema=mongoose.Schema;varShopSchema=newSchema({name:Schema.Types.Mixed,country:{type:String,default:''},createdAt:{type:Date,default:Date.now},defaultLanguage:{type:String},account:{type:Schema.ObjectId,ref:'Account'},});mongoose.model('Shop',ShopSchema)

node.js - Mongoose 迁移

谁有一个迁移模块,他们用mongoose插件迁移mongodb数据?我目前正在使用“迁移”模块,它工作得很好,除了我需要在每次上/下时创建/销毁我的连接。I.E.//Setupmongoosevarmongoose=require('mongoose'),Role=require('../models/role'),User=require('../models/user');exports.up=function(next){//getabrandnewconnectionforthispatch.mongoose.connect('mongodb://localhost/saged

javascript - Mongoose 异步多次保存冲突

我在使用Node/Mongoose/Socket.io时遇到了一个很大的逻辑问题......假设我有一个服务器模型,它经常在我的应用程序中同时被调用,一些调用涉及更新模型中的数据。db.Server.findOne({_id:reference.server}).exec(function(error,server){catches.error(error);if(server!==null){server.anything="ahah";server.save(function(error){});}}有时,两个人会同时调用它,而第一个人会save()另一个人可能已经拥有findOn

node.js - 在 Mongoose 预中间件中,我如何访问更新查询?

我正在尝试使用新的不稳定版本的mongoose>4.0.0来验证更新查询。说我想使用以下查询更新架构schema.update({_id:'blah'},{a:'blah'},function(err){//doyourthing})假设我有以下架构,varschema=newSchema({a:{type:String}});schema.pre('update',function(next){varfindQuery=this._conditions;//gives{_id:'blah'}//howdoiget{a:'blah'}????next();});如何在pre中间件中获取

node.js - 在 Sails 应用程序中,Mongoose 是否优于水线?

我正在开发一个sails.js应用程序。在我之前的Sails应用程序中,我使用MySQL和默认的水线ORM。我打算在我的新应用程序中使用Mongodb。我遇到了水线的限制,其中之一是查询关联。我当前的应用程序逻辑密集,处理大量统计数据。继续使用水线或用Mongoose替换它是否安全? 最佳答案 Waterline变得越来越好,并支持最近缺少的许多功能。由于现在两者都有关联支持,因此它们中的任何一个都可以完成这项任务。Waterline唯一的优点是,如果项目是基于Sails的,使用起来会容易得多。Waterlineassociatio

javascript - 循环遍历 Mongoose 对象

我有一个想要循环的Mongoose结果对象,但它的行为似乎与经典对象不同。通常,您不能使用for…inloop循环遍历不可枚举的属性。,但这似乎在这里工作。因此,这不适用于Object.keys尽管它应该遍历与for...in...相同的属性此外,Object.getOwnPropertyNames(obj)应该循环遍历每个属性(可枚举或不可枚举)不会返回任何获取的值。我真的不明白这里发生了什么。这里有一些示例代码及其输出来说明这一点:MediaModel.findById('558d0b3a5fa02e7e218b470c',function(err,media){if(err){r

node.js - Mongoose 选择 : false not working on location nested object

我希望我的架构的location字段默认隐藏。我添加了select:false属性,但是选择文档时总是返回它...varuserSchema=newmongoose.Schema({cellphone:{type:String,required:true,unique:true,},location:{'type':{type:String,required:true,enum:['Point','LineString','Polygon'],default:'Point'},coordinates:[Number],select:false,调用时:User.find({},func

node.js - 我最好拆分一个精心制作的 Mongoose 模型吗?

假设/loginAPI的情况,对于匹配的凭据集,应该返回集合中的用户对象,这种方法会更高效:1)一种带有投影查询的模型:varUserSchema=newSchema({name:String,email:String,dob:Number,phone:Number,gender:String,location:Object,//GeoJSONformat{type:'Point',geometry:{lat:'23.00',lng:'102.23'}}followers:[UserSchema],following:[UserSchema],posts:[PostSchema],gr

javascript - 设置 Mongoose 文档的排序顺序

我有一个Mongoose模式:models/profile.jsvarmongoose=require("mongoose");varpassportLocalMongoose=require("passport-local-mongoose");varprofileSchema=newmongoose.Schema({username:String,complete:{type:Boolean,default:false},email:{type:String,default:""},city:{type:String,default:""}},{discriminatorKey:'

node.js - 在 Mongoose (NodeJS+MongoDB) 中使用带有地理空间坐标的 find()

Mongoose版本:3.6Node版本:0.10我已经尝试解决这个问题好几个小时了。我想找到比maxDistance更接近某些坐标的所有文档。我正在尝试使用MongoDB(2dsphere)的GeoJSON规范,以便我可以输入以米为单位的距离。这是我的架构“venue.js”:vardb=require('mongoose'),Schema=db.Schema,ObjectId=Schema.ObjectId;varvenueSchema=newSchema({geo:{type:[Number],index:'2dsphere'},city:String,name:String,a