Articles of mongodb

在与现有NodeJS应用程序相同的AWS EC2实例上安装MongoDB?

我有点新来托pipe像MongoDB这样的数据库,并试图使用最具成本效益,但可靠的方法。 将MongoDB数据库安装在与Node应用程序相同的EC2实例上是否明智? 如果是的话,怎么样? 另外,有什么select?

把一个json对象放入mongoose模型中,我们得到.save不是一个函数

在顶部我有这个: var invoiceModel = require('../../models/invoiceModel'); var invoiceRecord = new invoiceModel(); 这一切都很好,如果我一个一个地填写发票领域,它的工作。 invoiceRecord.dueDate = someDate invoiceRecord.amount = someAmount etc.. invoiceRecord.save(function (err, res) { etc.. 但! 我从req.body得到整个logging结构当我这样做: invoiceRecord = req.body.invoice 然后我的invoiceRecord.save会给这个错误 TypeError: invoiceRecord.save is not a function 我了解它,因为即使您将invoiceRecord定义为模型,也会被req.body.invoice覆盖并成为对象。 如果我唯一的方法是逐个移动字段(因为我有很多字段)

findAndModify或findOneAndUpdate – “不是一个函数”

首先,哪一个最好? findAndModify或findOneAndUpdate或findByIdAndUpdate ? 在我的情况下,我得到了这样一个表格: seqkeys { "_id" : "invoice", "seq" : NumberInt(1) }, { "_id" : "receipt", "seq" : NumberInt(1) } 我想find发票的序号,加1并保存。 (然后使用该号码将实际发票logging保存在发票表中) 但我不能得到这个工作,我不断得到 TypeError: seqkeysTable.findAndModify is not a function 所以这里是我的模型: var mongoose = require('mongoose'); var Schema = mongoose.Schema; var seqkeysSchema = new Schema({ _id: String, // Table Name seq: Number // Sequence Number }); […]

NodeJs – 如何从mongoose输出获取关键值

我正在使用下面的函数来查询mongoose模型,它给出了输出 [{“count”:10000}]我想知道如何从mongoose返回的json中检索count的值,以便我可以使用它执行某些算术运算。 module.exports.getNext = function (field, model) { mongoose.model(collection, identityCounterSchema).find({ 'field': field, 'model': model }, { "count": 1, "_id": 0 }, function (err, result) { console.log(JSON.stringify(result)) var jsonObj = JSON.parse(JSON.stringify(result)); console.log(jsonObj.count) return (jsonObj.count); }); } 在上面的代码片段jsonObj.count返回undefined。

如何更新集合/ MongoDb / Nodejs中所有数据的参数

我需要为特定集合中的所有数据中的特定参数设置特定的值。 例如; 我有一个数据库,我的模式具有年龄和名称参数,我想更新每个人的年龄为5.我已经搜查的问题,但我找不到任何类似的情况。 我怎么能做到这一点,或者我可以用mongoose或mongoclient或除了mongoshell之外呢? 我使用nodeJSmongoose和expression。 这是我的代码(当然,它不工作:) 'exports.changeAll = function (req, res) { var reqparameter=req.body.parameter; var database=req.params.database; var collection=req.params.collection; mongoose.Promise = global.Promise; mongoose.connect('mongodb://127.0.0.1::27017/' + project, { useMongoClient: true, }) .then(() => { var Project = mongoose.model(collection, ProjectSchema, collection); Project.update({},{$set:{parameter:reqparameter},function(err,done){ if (err) res.send(err); else res.send('done' +reqparameter); } }); }); } // reqparameter =请求参数值// 我也试过mongoclient:(它不工作,错误是关于db.update不是一个函数) MongoClient.connect(url, function (err, […]

如何从Windows卸载mongodb

我看到一个教程说,运行这个: C:\ mongodb \ bin \ mongod.exe –config C:\ mongodb \ mongod.conf –remove 但是这个命令不起作用,因为在我的窗口中没有mongodb文件夹中的mongod.conf文件,我也不想只停止服务,但是我想删除包括文件,服务等在内的所有文件是可能的? 在此先感谢我使用Windows 8.1

插入stream式XML数据库

我试图有效地插入大量的数据(XML文件大小超过70GB),而不会崩溃我的MongoDB服务器。 目前这就是我在NodeJS中使用xml-stream所做的: var fs = require('fs'), path = require('path'), XmlStream = require('xml-stream'), MongoClient = require('mongodb').MongoClient, assert = require('assert'), ObjectId = require('mongodb').ObjectID, url = 'mongodb://username:password@my.server:27017/mydatabase', amount = 0; var stream = fs.createReadStream(path.join(__dirname, 'motor.xml')); var xml = new XmlStream(stream); xml.collect('ns:Statistik'); xml.on('endElement: ns:Statistik', function(item) { var insertDocument = function(db, callback) { db.collection('vehicles').insertOne(item, function(err, result) { amount++; if (amount […]

mongoose预存钩子,但不保留数据

我遇到了一个问题,我的Mongoose pre.save()钩子正在触发,但属性不会保存到数据库。 我一直在寻找很长一段时间没有find答案。我发现这个线程 ,我遇到的行为是非常类似的,但OP的问题是与这个背景有关,而我似乎有一个不同的问题。 这是我的models.js: 'use strict'; const mongoose = require("mongoose"); const slugify = require("slugify"); let Schema = mongoose.Schema; let BlogPostSchema = new Schema({ title: { type: String, required: true }, createdAt: {type: Date, default: Date.now}, updatedAt: {type: Date, default: Date.now}, author: String, post: { type: String, required: true } }); BlogPostSchema.pre('save', function(next) { this.slug […]

在填充调用之后模拟Mongoose对象

我试图嘲笑填充调用,我想嘲笑返回mongoose对象,而不是普通的JS对象。 sandbox.mock(BookModel) .expects('populate') .yields(null, [ new BookModel({ _id: mongoose.Types.ObjectId(), name: 'Mock Book', authorIds: [{ name: 'Foo', }] }) ]); 与模式: var BookSchema = new Schema({ name: { type: String, required: true, unique: true }, authorIds: [{type: Schema.Types.ObjectId, ref: 'Author'}], }); var AuthorSchema = new Schema({ name: { type: String, required: true, unique: true }, }); […]

mongoose“this.model不是一个函数”

这是我如何定义我的模式和架构方法。 const Schema = mongoose.Schema; const ItemSchema = new Schema({ type:String, brand:String, description:String, model:String, price:Number, createdAt:{type: Date, default: Date.now}, updatedAt:{type: Date, default: Date.now} }); ItemSchema.statics.findBrand = function(brand, callback){ // this == item return this.find({brand: brand}, callback); } ItemSchema.statics.findType = function(type, callback){ return this.find({type: type}, callback); } ItemSchema.methods.findSameBrand = function(cb){ return this.model("Item").find({brand: this.brand}, cb); } var […]