Tag: mean stack

重复密钥错误索引Mongoose

我试图简单地创build多个对象与空数组。 不幸的是,当我想要创build多个这样的元素时,会出现错误消息。 这是我的对象模式: var groupSchema = mongoose.Schema({ id: mongoose.Schema.ObjectId, name: { type: String, required: true }, section: { type: mongoose.Schema.ObjectId, ref:"Section", childPath:"groups" }, users: [ {type : mongoose.Schema.ObjectId, ref : 'User', childPath: "groups"} ], invitations: [{ _id:false, email: { type: String, required: true }, isRegistered: { type: Boolean, required: true } }], }); 简单的创buildfunction: //Create […]

不能在Mac OS X上安装“mean-cli”模块

更新:显然,使用sudo来安装节点模块是不好的做法。 相反,更改文件夹权限将解决此问题。 请参阅此处的答案: https : //stackoverflow.com/a/31546496/2859315 原来的post: 目前,我已经安装了Node(版本v0.12.7)和NPM。 我正在尝试安装NPM的mean-cli软件包。 我正在按照这里find的安装说明: https : //github.com/linnovate/mean#installation 另外,我正在Udemy上开发MEAN Stack开发课程。 这里是讲座: https : //www.udemy.com/mean-stack-for-beginners/#/lecture/2697540 到目前为止,我已经安装了两个必备软件包Gulp和Bower: $ npm install -g gulp // and bower $ npm install -g bower 首先,我尝试使用npm install -g mean-cli进行npm install -g mean-cli但是在不使用sudo情况下抛出权限错误。 那么,即使使用sudo也不行。 其次,我尝试更新和重新安装节点和NPM。 仍然有同样的问题。 当我input命令sudo npm install -g mean-cli , 我得到这个回应: > mean-cli@0.10.14 preinstall /usr/local/lib/node_modules/mean-cli > […]

没有声明“distinct”的值

我正在尝试为我的Mongoose模型添加一个新的静态方法。 该方法应接受几个字段的名称,并返回一个对象与每个这些字段的不同值。 var mongoose = require('Mongoose'); var Schema = mongoose.Schema; var mySchema = new Schema({Year: Number, Segment: String, Sector: String, Name: String, Group: String, Value: Number}); mySchema.statics.manyDistinct = function(err, fields, callback) { var out = {}; for (var i = 0; i < fields.length; i++) { this.distinct(fields[i], function(err, dat) { if (err) { return err; […]

如何使用ng-repeat显示嵌套的Mongo文档?

我有两个模式,一个用户和另一个工程。 每个用户可以有多个项目和项目可以在用户之间共享。 他们来了: var ProjectSchema = new Schema({ title: String, description: String, path: String, users: [{type: Schema.Types.ObjectId, ref: 'User'}], active: Boolean }); var UserSchema = new Schema({ name: String, username: {type: String, unique: false}, email: { type: String, lowercase: true }, role: { type: String, default: 'user' }, projects: [{type: Schema.Types.ObjectId, ref: 'Project'}], hashedPassword: String, […]

如何从多选控件中获取选定的值对象

我有一个像这样的select框 <div class="form-group" ng-class="{ 'has-error' : submitted && form.options.$invalid }"> <label for="options">Options</label> <select multiple class="form-control" name="options" id="options" ng-model="form.options" data-ng-options="option._id as option.name for option in availableOptions" required> </select> <div ng-show="submitted && form.options.$invalid" class="help-block"> <p ng-show="form.options.$error.required">Please select options</p> </div> </div> 选项的值如下所示 var options = [ { '_id': option1_id, 'name': option1_name, 'value': option1_value }, { '_id': option2_id, 'name': […]

从mongoDB服务器获取Node服务器中的数据块

你好我有一个在mongoDB whoose大小为30K的集合。 当我从节点服务器运行查找查询(我正在使用mongoose)时,会出现以下问题。 1:从数据库服务器获取结果需要很长时间 2:从结果数据创buildJSON对象时,Node服务器崩溃 为了解决这个问题,我试图获取块中的数据( 在文档中说明 )现在我正在我的stream.oncallback中获得docuemnt。 这是我的代码 var index=1; var stream = MyModel.find().stream(); stream.on('data', function (doc) { console.log("document number"+ index); index++; }).on('error', function (err) { // handle the error }).on('close', function () { // the stream is closed }); 而我的代码是 Document number1 document number2 …… documant number 30000. 输出显示数据库正在逐个发送文档。 现在我的问题是,是否有任何方法来获取5000个文档块的数据。 还是有没有更好的方法来做同样的事情? 提前致谢 我试过使用batch_size(),但它并没有解决我的问题 […]

MEAN.IO包含自己的模板

我已经通过覆盖系统包模板在MEAN.IO创build了一个包含自己模板的包 MyPackage1.register(function(app, auth, database, system) { app.set('views', __dirname + '/server/views'); }); 现在我创build第二个包,并希望这个包也有自己的模板,所以我也为第二个包做同样的事情 MyPackage2.register(function(app, auth, database, system) { app.set('views', __dirname + '/server/views'); }); 但是在这种情况下,我正在为MyPackage2获取MyPackage1模板。 如果我依靠MyPackage2上的MyPackage1如下 MyPackage2.register(function(app, auth, database, MyPackage1) { app.set('views', __dirname + '/server/views'); }); MyPackage1的模板被MyPackage2的模板覆盖

在MEAN堆栈中testing连接池

在我的MEAN应用程序中,我创build了一个全局mongoose连接。 相同连接的默认池大小为5。 我增加了一个MAP减less,通常需要6秒执行。 如果有6个用户使用相同的function,则有一个用户使用。 这可能是因为我们没有连接池中的连接。 所以我的问题是,是否有任何方法来检查池中的可用连接使用node.js(或者可能是Mongo,不知道)

如何使用mongoose播种机,无法插入数据

所以我安装了这个插件https://www.npmjs.com/package/mongoose-seeder 它在子目录中带有mongoose,所以我删除了那个目录,因为我已经在node_modules中有mongoose了,并且它给了我错误直到被删除。 该应用程序运行没有错误,但没有在myappname-dev数据库中创build。 按照说明,在/ config中为mongoose播种器创build一个基本的json文件(data.json)来parsing: { "categories": { "_model": "Category", "title": "Cat1" } } 在server.js中: var init = require('./config/init')(), config = require('./config/config'), mongoose = require('mongoose'), chalk = require('chalk'); var seeder = require('mongoose-seeder'), data = require('./config/data.json'); // Bootstrap db connection var db = mongoose.connect(config.db, function(err) { if (err) { console.error(chalk.red('Could not connect to MongoDB!')); console.log(chalk.red(err)); } […]

反向填充mongoose

我想弄清楚如何使用我的订单集合中的businessId属性填充我的业务订单。 我试过,但不能得到它的工作。 https://www.npmjs.com/package/mongoose-reverse-populate 任何想法,我做错了或如何完成我需要做的其他build议? Business.findById(id).exec(function(err, business) { var opts = { modelArray: business, storeWhere: "orders", arrayPop: true, mongooseModel: Order, idField: "businessId" }; reversePopulate(opts, function(err, businessAndOrders) { req.business = businessAndOrders; next(); }); }); – var BusinessSchema = new Schema({ businessName:{ type:String } /*…….*/ }); var OrderSchema = new Schema({ data: { type: String, } created: { […]