草庐IT

mongoose-dbref

全部标签

node.js - NodeJS/Mongoose/MongoDB - 拉(从数组中)不起作用

我正在尝试从数组(子文档)中提取/删除值。示例文档:{_id:5150a1199fac0e6910000002,name:'somename,items:[{id:23,name:'itemname23'},{id:24,name:'itemname24'}]}我已经从mongo中提取了该文档。我正在尝试:varleft=object.items.pull({id:24});console.log(left)输出:[{id:23,name:'itemname23',_id:5150a1199fac0e6910000045},{id:24,name:'itemname24',_id:51

javascript - 在 node.js 和 mongoose 中缩短 ObjectId

我的网址现在看起来像这样:http://www.sitename.com/watch?companyId=507f1f77bcf86cd799439011&employeeId=507f191e810c19729de860ea&someOtherId=.....所以,如您所见,它变得非常长,非常快。我正在考虑缩短这些ObjectId。想法是我应该向数据库中的每个模型添加名为“shortId”的新字段。所以不要有:varCompanySchema=mongoose.Schema({/*_idwillbeaddedautomaticallybymongoose*/name:{type:St

node.js - Mongoose,如何使用两个或条件执行 find()

我正在尝试进行查找,它将获取所有具有包含正则表达式(有效)的标题或描述的文档,然后进一步过滤它以仅包含将“私有(private)”标志设置为的文档false或“用户”字段设置为给定的userId。这是我目前正在尝试的......FCSet.find({},{"flashCards":0}).or([{'title':{$regex:re}},{'desc':{$regex:re}}]).or([{'private':false},{'user':'userId'}]).sort('title')这应该只返回6行,但它返回56。如果我取出第二个or()那么它适用于按标题/描述过滤。我猜我

javascript - Mongoose 错误 : Schema hasn't been registered for model when populate

我正在尝试加入两个集合并能够获取组合数据。为此,使用Mongoose,我应该使用填充语法来实现这一点。我收到未为“User_Fb”注册SchemaSchema的错误消息。从我的代码中,我已经导出了模型并在我的server.js中需要,但错误仍然出现。我做错了什么?feed_post.model.jsvarmongoose=require('mongoose');varconn_new_app=mongoose.createConnection('mongodb://localhost/new_app');varUser_fb=require('../models/fb_db.model

node.js - 如何在 Mongoose 中填充嵌套实体?

我有以下Mongoose模式结构userSchema=newSchema({roles:[role:{type:Schema.Types.ObjectId,ref:'Role'}]})rolesSchema=newSchema({name:String,roleEntities:[{entity:{type:Schema.Types.ObjectId,ref:'RoleEntity'},abilities:[{type:Schema.Types.ObjectId,ref:'Ability'}]}]}roleEntitiesSchema=newSchema({name:String})a

mongodb - 在 Mongoose 中进行小时/日/月/年的范围查询

试图弄清楚如何做到这一点。基本上我想按我提交的时间/天/月/年进行排序。每个submission都有一个created字段,其中包含"created"形式的MongooseDate对象:ISODate("2013-03-11T01:49:09.421Z")。我需要在find()条件下与此进行比较吗?这是我当前的查询(我将它包装在一个计数中以用于FWIW的分页目的,所以忽略该部分):getSubmissionCount({},function(count){//Sortbytherangeswitch(range){case'today':range=now.getTime();case

javascript - 用 express.js 处理 Mongoose 连接的正确方法是什么?

我尝试运行一个非常简单的“server.js”设置:varexpress=require('express'),wines=require('./routes/testscripts');varapp=express();app.get('/first_test',wines.popSingleData);app.listen(3000);console.log('Listeningonport3000...');这是设置为连接到localhost:3000当我导航到localhost:3000/first_test时,它会调用testscript.js中的“popSingleData

node.js - 无法访问 Mongoose 响应的对象属性

我在node.js上运行这段代码varmongoose=require('mongoose');mongoose.model('participant',newmongoose.Schema({},{collection:'forumParticipant'}));varParticipant=mongoose.model('participant');mongoose.connect('******');Participant.find({entity_id:0},function(err,docs){console.log(docs[0]);console.log(docs[0].

node.js - Mongoose 实例 .save() 不工作

我对Mongoose和MongoDb有疑问非常有趣的是,只有Model.update有效,而save永远不会有效,甚至不会触发回调。Mongoose:4.4.5MongoDB:3.0.8快速路线varmongoose=require('mongoose');mongoose.connect("mongodb://127.0.0.1:27017/db");vardb=mongoose.connection;db.on('error',console.error.bind(console,'connectionerror:'));db.once('open',function(callba

node.js - Mongoose 实例 .save() 不工作

我对Mongoose和MongoDb有疑问非常有趣的是,只有Model.update有效,而save永远不会有效,甚至不会触发回调。Mongoose:4.4.5MongoDB:3.0.8快速路线varmongoose=require('mongoose');mongoose.connect("mongodb://127.0.0.1:27017/db");vardb=mongoose.connection;db.on('error',console.error.bind(console,'connectionerror:'));db.once('open',function(callba