草庐IT

mongoose-dbref

全部标签

node.js - 使用 mongoose 在 mongodb 中执行聚合时返回一个空对象,这是为什么?

这是我第一次看到node.js和mongodb,所以我可能做了一些愚蠢的事情或错过了一些明显的事情,但鉴于下面的文档和查询,为什么可能会返回一个空对象?1文档示例{__v:0,_id:ObjectId("50bf7f12fc71b74f3b000001"),amount:452.23,categoryId:13,created:ISODate("2012-12-05T17:06:26Z"),description:"Test",typeId:1,updated:ISODate("2012-12-05T17:06:26Z")}2问题代码varSchema=mongoose.Schema;

json - 如何从 MongoDB + Node.js + Mongoose 获取修改后的 json 输出

考虑我的收藏在MongoDB中的存储方式如下:{_id:'Unique_Value',FieldMONGO1:'ngfn',FieldMONGO2:{SomeKey:['val1','val2','val...']},}当我在Mongoose的模型实例上使用find方法进行检索时。我得到以下JSON输出:{_id:'Unique_Value',FieldMONGO1:'NAME_value',FieldMONGO2:{SomeKey:['val1','val2','val...']},}两者完全相同。问题:有什么方法可以将字段名称更改为FieldMONGO1到FirstName、Fie

javascript - 在 Mongoose 中获取引用集合

我的应用程序在MongoDB中包含三个集合Users、Channels和Feeds用户可以注册channel。所以channel会有一堆注册该channel的用户的引用ID。channel有多个提要。Feed文档具有channel的引用ID。我想根据他订阅的channel检索用户订阅源。我如何在Mongoose中实现这一目标? 最佳答案 您可以使用ObjectId架构类型来引用其他集合中的文档。然后你可以使用populate在查询父文档时填充这些文档。例如:varUserSchema=newSchema({//Somefieldsc

mongodb - GeoNear Mongoose 和 2d 索引

我正在执行这个查询{"$geoNear":{"uniqueDocs":true,"includeLocs":true,"near":[8.759131,40.272393],"spherical":false,"distanceField":"d","maxDistance":0.09692224622030236,"query":{},"num":3}}在此模型上:varridePathSchema=newSchema({...loc:[Number],...});ridePathSchema.index({loc:"2d"});然后我得到:Unhandledrejectionrea

node.js - Mongoose ,更新子文档

考虑以下模式VarSchema=newSchema({username:{Type:String},......contacts:{email:{Type:String},skype:{Type:String}}})由于每个用户只能声明一封电子邮件和Skype,所以我不想将数组与联系人一起使用。丢弃数据库查询和错误处理我尝试做类似的事情//varuseristheuserdocumentfoundbyidvarnewValue='new@new.new';user['username']=newValue;user['contacts.$.email']=newValue;consol

mongodb - 使用 Mongoose 进行条件字段选择

假设我有一组具有用户名和电子邮件地址的用户。{name:'JohnDoe',email:'john@doe.com',level:5}{name:'FredFoo',email:'fred@foo.com',level:2}{name:'JoGreen',email:'jo@green.com',level:5}{name:'PaulBar',email:'paul@bar.com',level:3}我想查询这个集合,选择所有的用户名和级别。在Mongoose中,我可以这样做:User.find().select('namelevel').exec(callback)这会给我以下内容:

javascript - 在 Mongoose 中对嵌套数组进行排序

我有一个带有数组或音乐的PlaylistShema。在这个音乐数组中,我有一个ObjectId(引用音乐集合)、一个addedAt和一个title。PlaylistShemavarPlaylistSchema=newSchema({title:{type:String,default:'',trim:true},user:{type:Schema.ObjectId,ref:'User'},musics:[{musicId:{type:Schema.ObjectId,ref:'Music'},title:{type:String},addedAt:{type:Date,default:D

node.js - 缓慢的 Mongoose 请求

我的Mongoose查询一直很慢。我已将其缩小为Mongoose创建对象的方式或数据库服务器请求中的实际延迟。我在数据库中几乎没有任何数据(4个集合中的每个集合中都有通过在线搜索/查看文档我无法弄清楚的两个大问题:如何获取Mongoose在Mongo上运行的原始查询?一个调用对数据库服务器进行了多少次访问-例如,如果我有一个查询,其中包含几个填充调用、一个排序调用和回调函数中的一个嵌套填充调用,那么对服务器进行了多少次访问.这是我看到的一些延迟时间:Loginlocalhost+localDB=58mslocalhost+mongoHQ=127msheroku+mongoHQ=287m

node.js - Node ,MongoDB( Mongoose )非重复计数

我有一个包含多个文档的集合,每个文档都有一个不唯一的“eID”字段。我想获取所有不同“eID”的计数。示例:如果有5个文档的'eID'=ObjectID(123)和2个文档的'eID'=ObjectID(321)我想输出如下内容:{ObjectID(123):5,ObjectID(321):2}我不知道这是否可以在同一个查询中完成,但在知道什么是最常出现的eID之后,我想使用ObjectID获取引用的文档Mongoose版本3.8.8 最佳答案 $status是我需要计算不同元素数量的集合的特定字段。varagg=[{$group:

node.js - Mongoose 在引用的文档属性中查找

我正在疯狂地查询以根据引用的文档属性查找匹配项。我已经这样定义了我的模式:mongoose.model('Route',newmongoose.Schema({user:{type:mongoose.Schema.Types.ObjectId,ref:'User'}}));mongoose.model('Match',newmongoose.Schema({route:{type:mongoose.Schema.Types.ObjectId,ref:'Route'}}));因此,当我在Match模型中搜索来自特定用户的路线时,我会做类似的事情(也尝试不使用'_id'属性):match.