Tag: mongodb

mongoose人口忽略select

我很难理解mongoose的人口逻辑。 我有一个UserSchema其中包含文章的数组。 articles: { type: [{ article: { type: Schema.Types.ObjectId, ref: "Article" }, read: Boolean, starred: Boolean }] }, 文章存储在一个单独的集合。 现在,我想查找用户的所有已加星标的文章,填充这些文章,按发布date对它们进行sorting并对结果进行分页。 User.findOne({_id: user.id, "articles.starred": true}).populate({path: "articles.article", options: {sort: {"published": -1}, skip: 20, limit: 20}}).exec(function(err, _user) { callback(_user); }); 问题是,人口已经完成,但是选项完全被忽略了。 以下是用户和文章的外观: 用户: { "__v" : 0, "_id" : ObjectId("5284ef45fe46a55194000003"), "articles" : [ { "article" : ObjectId("5284ef52fe46a55194000005"), […]

用于多策略sigup用户表的架构

在一个项目上工作时,面临不同的护照策略(本地,脸谱,微博)存储用户信息的问题。 在开始我的UserSchema有这样的样子: User = mongoose.Schema( { "email" : { type : String , lowercase: true , trim : true , unique : true } , "providerId" : { type : String } , "providerName" : { type : String } , "hashedPassword" : { type : String } , "salt" : { type : String […]

如何仅从nodejs中的mongodb返回值而不是key:value对

在某个字段上search集合时,我可以指定我只想返回某些字段。 在只返回一个字段的情况下,我们说“_id”,find命令返回一个key:value对数组[有没有发现只返回一个数组的值? 如:[123,234,345] 我可以自己按摩返回的数组,但是如果mongodb可以为我做这个,那么我宁愿这样做。

mongoose无法使用$ in操作符find引用

我有这样的用户架构 var userSchema = new mongoose.Schema({ username: String, following: [{created: {type: Date, default: Date.now}, target: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true }}] }); 和一个用户活动模式: var activity = new mongoose.Schema({ text: String, private: Boolean, _creator: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true } }); 我试图获得所有的活动,其中_creator是$in的following子文档$in 。 userModel.methods.getNewsfeed = function(callback){ var following_targets = _.pluck(this.following, 'target') // […]

PB mongodb,mongoose,node.js

当我尝试在mongodb中插入某些东西时,出现这个错误,您能否给我一个理解的文档,并做我需要的东西? /home/samp/Bureau/Node/gw/gw-user/node_modules/mongoose/lib/utils.js:413 throw err; ^ MongoError: E11000 duplicate key error index: mongoose-bcrypt-test.users.$username_1 dup key: { : "samp@hotmail.com" } 这是我的代码: user.save(function(err) { if (err) throw err;

node.js mongodb – collection.find()。toArray(callback)返回空

mydocuments.find({})。toArray在我的代码下面返回空。 我可以看到发布的几个解决scheme,但由于我使用的是MongoClient.connect,所以不能应用它们。 任何援助将不胜感激。 var MONGOHQ_URL="mongodb://harishvc:supersecretreally@something.com:12345/abcd"; var mongodb = require('mongodb'); MongoClient = mongodb.MongoClient; var async = require('async'); …. async.series([ function (callback) { console.log("start: db connection"); MongoClient.connect(MONGOHQ_URL, { server: { auto_reconnect: true } }, function(err, db2) { if (err) {return callback(err, "connect error");} db = db2; console.log("end: db connection"); callback(null,"end: db connection"); }); }, function (callback) { […]

mongoose – 如何指定和删除依赖关系?

使用MongoDB和Mongoose,如何将对象标记为从属于它们的关系,以便如果父对象被删除,则所有依赖于它的子对象也将被删除。 例如,如果作者被删除,我怎样才能让作者的所有文章自动删除? var AuthorSchema = new Schema({ created: { type: Date, default: Date.now }, name: { type: String, default: '', trim: true } }); var ArticleSchema = new Schema({ created: { type: Date, default: Date.now }, title: { type: String, default: '', trim: true }, content: { type: String, default: '', trim: true }, author: […]

如何在MongoDB中插入嵌套关联数组

我有一个MongoDB集合,它有一个包含嵌套关联数组的注释部分(请参阅下面的模式)。 我有问题插入一个新的笔记。 理想情况下,我想要做这样的事情 var label_var = '3'; db.collection.update({ _id: ObjectID(id) }, { $set: { notes.label_var : data} } … 不幸的是点符号不需要variables,我不能在更新语句中使用笔记[label_var]。 任何帮助表示赞赏。 架构: [ { _id: GUID, title: 'title', notes: { '1': { content: 'content here' }, '2': { content: 'content here' } } } ]

racerJS可以使用本地mongo ObjectIDs吗?

我注意到Racer的Mongo DB驱动程序的最新提交与将Racer的id添加到Mongo ObjectIDs有关,任何想法如何让它工作?

如何使用express / mongoose和客户端JS将HTML类发布到mongoDB集合中?

首先,我的编程知识完全在前端,但是我正在试验node,express,mongoose和mongodb。 我正在使用别人的模板尝试以正确的方式构build应用程序,但在连接点时我迷路了。 我有以下的玉器: form(method='post', action="/post/comment/" + post.id) textarea(name='text') input(type='submit', value='Save') 结合这个来自routes / posts.js文件 app.post("/post/comment/:id", loggedIn, function (req, res, next) { var id = req.param('id'); var text = req.param('text'); var author = req.session.user; Comment.create({ post: id , text: text , author: author }, function (err, comment) { if (err) return next(err); res.redirect("/post/" + id); }); }); […]