Articles of mongodb

MongoDB / Mongoose索引使查询更快或减慢?

我有这样的文章模型: var ArticleSchema = new Schema({ type: String ,title: String ,content: String ,hashtags: [String] ,comments: [{ type: Schema.ObjectId ,ref: 'Comment' }] ,replies: [{ type: Schema.ObjectId ,ref: 'Reply' }] , status: String ,statusMeta: { createdBy: { type: Schema.ObjectId ,ref: 'User' } ,createdDate: Date , updatedBy: { type: Schema.ObjectId ,ref: 'User' } ,updatedDate: Date ,deletedBy: { type: […]

.save()不是函数Mongoose

我一直得到一个问题,newUser.save()不是一个问题。 这是我以前用过的mongoosefunction。 我需要正确的mongoose,我不确定为什么这个错误发生。 欢迎任何帮助。 我得到的错误是TypeError: newUser.save is not a function 我的模型文件夹中的user.js var mongoose = require('mongoose'); var bcrypt = require('bcryptjs'); var Schema = mongoose.Schema; var UserSchema = new Schema({ name: String, email: String, password: String, info: String }); var User = module.exports = mongoose.model('User', UserSchema); module.exports.createUser = function(newUser, callback){ bcrypt.genSalt(10, function(err, salt) { bcrypt.hash(newUser.password, salt, function(err, […]

“Node.js中的某些MongoDB ObjectID”的参数必须是“string”

我在Node中得到这样的错误: TypeError: Argument must be a string at TypeError (native) at Buffer.write (buffer.js:791:21) at serializeObjectId <snip> 这些条件是ObjectID在使用MongoDB进行查找操作时的一些用法。 ObjectID的一些用法引发了这个错误,有些则没有。 唯一重要的是ObjectID来自哪里。 如果它是从现有的collections拉,它的工作。 如果我自己生成它(例如,使用ObjectID.createFromHexString),它失败,如上所述。

find没有邀请任何用户的用户

我想查找那些没有通过单个查询邀请任何用户的用户(使用聚合)。 例如:我有4个用户在数据库 { "_id" : ObjectId("581a18d41b6c5c752f11c87a"), "name": "aaa", "invitedBy": ObjectId("5808f53d28c14ee470856d8b") }, { "_id" : ObjectId("581a1a671b6c5c752f11c87b"), "name": "bbb", "invitedBy": ObjectId("581a18d41b6c5c752f11c87a") }, { "_id" : ObjectId("581a1a671b6c5c752f11c87c"), "name": "ccc", "invitedBy": ObjectId("581a18d41b6c5c752f11c87a"), }, { "_id" : ObjectId("581a1a671b6c5c752f11c87d"), "name": "ddd", "invitedBy": ObjectId("581a1a671b6c5c752f11c87b"), } 这里 1- aaa邀请bbb和ccc用户 2- BBB邀请DDD用户 3-但ccc和ddd用户没有邀请任何一个 所以我想图片ccc和ddd用户 如果可以使用聚合,会更好,因为我需要对所选数据执行一些操作。

mongoose:如何build模一个外键/逆关系?

我正在使用Mongoose来模拟Person和Transaction集合,其中每个Transaction都将引用两个不同的Person实例: var TransactionSchema = new Schema({ , amount : { type: Number, required: true } , from : { type: ObjectId, required: true } , to : { type: ObjectId, required: true } , date : Date }); var PersonSchema = new Schema({ name : { type: String, required: true } , transactions : [ObjectId] […]

在Mongoose中searchembedded对象

例如,如果我有以下架构(为了简洁,大大简化)。 如何通过标签searchpost? 我知道如果这个标签文档集合被embedded,但是我想把Tag放在他们自己的集合中。 PostSchema = new Schema({ title: String body: String tags: [{type: Schema.ObjectId, ref: 'Tag' }] }); TagSchema = new Schema({ name: String }); // Here is what I've tried Post.find({'tags.name':'javascript'}) .populate('tags') // Is it necessary to join the collections? .run(function(err, posts) { console.log('posts: ', posts); });

在Mongo中检查现有文档

我是Mongo的新手,并使用Mongoose作为ORM。 对于用户注册,我使用电子邮件作为唯一。 我想检查电子邮件是否已经被使用,如果没有,那么做一些事情(也许保存,也许下一个注册步骤等)。 对不起,似乎是一个简单的问题,但我还没有find答案。 除非它是“upsert”。 这意味着插入文件,即使我还没有准备好…

如何填充嵌套的Mongooseembedded式文档

我已经阅读并重新阅读了关于Mongoose中embedded和链接文档的几篇文章。 根据我所阅读的内容,我得出结论,最好是具有类似于以下的模式结构: var CategoriesSchema = new Schema({ year : {type: Number, index: true}, make : {type: String, index: true}, model : {type: String, index: true}, body : {type: String, index: true} }); var ColorsSchema = new Schema({ name : String, id : String, surcharge : Number }); var MaterialsSchema = new Schema({ name : {type: […]

NodeJS – 如何发送一个variables嵌套callback? (MongoDB查找查询)

我想在另一个结果集中使用find查询的结果集。 我无法用英语很好地解释这种情况。 我会尝试使用一些代码。 People.find( { name: 'John'}, function( error, allJohns ){ for( var i in allJohns ){ var currentJohn = allJohns[i]; Animals.find( { name: allJohns[i].petName }, allJohnsPets ){ var t = 1; for( var j in allJohnsPets ){ console.log( "PET NUMBER ", t, " = " currentJohn.name, currentJohn.surname, allJohnsPets[j].name ); t++; } } } }); […]

mongoosedate格式

目前有一个问题从mongoose检索date。 这是我的模式: var ActivitySchema = new Schema({ activityName : String , acitivtyParticipant : String , activityType : String , activityDate : { type: Date, default: Date.now } , activityPoint : Number }); 默认使用“mm.dd.yyyy”,所以我所有格式为“dd.mm.yyyy”的数据默认为Date.now。 有没有人知道是否有一个“格式:”dd.mm.yyyy“function,我可以直接放在架构?任何其他的想法?(真的不想更新所有的数据) 谢谢你的回复