Articles of mongoose

来自NodeJS或mongoose的mongodump / mongorestore

想知道是否可以从nodejs中运行mongodump / mongorestore。 可能不是一个真正的mongoose,因为这不是什么mongoose。 但想知道是否有办法从mongodb nodejs驱动程序执行这些命令。 看起来我可以做到这一点作为最后的手段: 我如何执行mongodump命令以编程方式从node.js?

mongoose在数据库中find最后十个条目

我正在做一个简单的小社交networking。 我有所有的inputpost,用户等,完成。 现在唯一错误的是它几乎只是一个聊天室。 每当你在某人的网页上发布信息时,唯一可以查看的人就是当时网页上的人。 当你刷新,所有的post都没有了。 这是我发送post时的技术部分,以及我想要做的事情。 每当你发布一篇文章,它会做一些不重要的事情,我不会列出它们。 但是有一个重要的部分,把它发送给NodeJS服务器。 这是它使用的代码: function sendPost(cont) { socket.emit("newPost", username, uid, cont, page); model.posts.unshift(new Post(username, uid, cont, page)); // You don't need to worry about this } 正如你所看到的,它使用用户名,uid,内容和页面发出一个“newPost”。 在服务器上,它接收这个post,然后插入到数据库中。 socket.on("newPost", function (name, id, cont, page) { var thePost = new Post({name: name, cont: cont, id: id, page: page}); console.log("Received a new […]

Mongoose toObject:{virtuals:true}

我试图学习MongoDB / Node,我注意到在一个模式中,我经常看到这样的事情: toObject: { virtuals: true } toJSON: { virtuals: true } 这两行意味着什么?

mongoose只读没有模式

我在我的node.js应用程序中使用Mongoose来模拟数据库中的两个集合,它将读取和写入。 还有两个集合只能从我的应用程序中读取(这些集合的模型正在另一个应用程序中进行维护,将写入这些集合)。 如果我需要使用mongoose访问这两个只读集合,那么我将不得不在这个应用程序中维护一个模式。 我宁愿不这样做,因为模式将被维护两次,并可能导致以后不一致。 Mongoose中的默认连接可以通过创build Mongoose.connect(dbPath) 给定一个dbPath(例如, mongodb://localhost/dbname ),我怎样才能使用Mongoose默认连接从集合的模式/模型不被我的应用程序维护读取? 或者我将不得不使用相同的本地MongoDB驱动程序?

用Mongoose自定义错误信息

所以根据mongoose文档 ,你应该能够在模式中设置一个自定义错误消息,如下所示: var breakfastSchema = new Schema({ eggs: { type: Number, min: [6, 'Too few eggs'], max: 12 }, bacon: { type: Number, required: [true, 'Why no bacon?'] } }); 所以我想做类似的事情: var emailVerificationTokenSchema = mongoose.Schema({ email: {type: String, required: true, unique: [true, "email must be unique"]}, token: {type: String, required: true}, createdAt: {type: Date, required: […]

mongoose – 不赞成mongodb@2.2.16:请升级到2.2.19或更高?

当我尝试安装mongoose时,为什么我会在下面看到这个警告信息? npm WARN弃用mongodb@2.2.16:请升级到2.2.19或更高版本 JSON: { "name": "dummy-app", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www" }, "dependencies": { "body-parser": "~1.15.1", "cookie-parser": "~1.4.3", "debug": "~2.2.0", "express": "~4.13.4", "pug": "~2.0.0-beta3", "morgan": "~1.7.0", "serve-favicon": "~2.3.0", "mongoose": "^4.7.6" } } 我该如何解决这个问题?

如何使用NodeJS和Express呈现上传的照片?

我通常会发表自己最擅长的例子,但是在这种情况下,我不知道从哪里开始(还没有用其他语言上传照片)。 那么怎么去渲染上传的照片。 我正在使用Node v0.4.2,Express 1.0.8和Mongoose 1.0.16,并且上传了可以正常工作的图片(最终以〜/ tmp结尾)。 谢谢。

使用req.body通过Mongoose更新和/或添加数组元素属性?

我有以下文件: { "_id" : ObjectId("503b83dfad79cc8d26000004"), "pdfs" : [ { "title" : "Test document", "pdf_id" : ObjectId("504f6793ce351a595d000004"), "created_at" : ISODate("2012-09-11T16:32:19.276Z") }, { "title" : "Some other doc", "pdf_id" : ObjectId("502bf124b4642341230003f0"), "created_at" : ISODate("2012-09-11T11:34:19.276Z") } ] } 现在通过req.body传入表单,我有2个字段: title和description 。 我想更新title并为指定的pdf_id插入description ,我该怎么做? 所以最后,我的文档现在看起来像: { "_id" : ObjectId("503b83dfad79cc8d26000004"), "pdfs" : [ { "title" : "This is an UPDATED […]

如何获得一个Mongoose实例的所有模型的对象

我知道mongoose.model("myModel")返回myModel模型。 但是我怎么能让Mongoose给我一个所有模型的数组/对象/列表,目前已经注册? 我认为这是一个devise上的缺陷。

mongoose模式检查模型实例是否第一次被保存

我有3个模式,其中2个有一个.pre('save')钩子将其_id放入前一个。 您可以通过主题,问题和评论来举一个论坛的例子 var topicSchema = new Schema({ arr: {type:[Schema.ObjectId], ref:'Question'}, }); var Topic = new mongoose.model('Topic', topicSchema); var questionSchema = new Schema({ targetId: {type:Schema.ObjectId, ref:'Topic', required:true}, arr: {type:[Schema.ObjectId], ref:'Comment'}, }); var Question = new mongoose.model('Question', questionSchema); var commentSchema = new Schema({ targetId: {type:Schema.ObjectId, ref:'Question', required:true}, }); var Comment = new mongoose.model('Comment', commentSchema); 现在我想要上面的模式:当我保存一个问题,我想自动推问题的_id到其各自的Topic.arr ,当我保存一个评论,汽车将其推到其各自的Question.arr 我试着用.pre('save')钩子来解决这个问题,如下所示: […]