Tag: mongoose

模型文件和数据库交互

我有一个模型文件,如 var mongoose = require('mongoose'); var Schema = mongoose.Schema; var User = new Schema({ firstname : {type: String, required: false}, lastname : {type: String, required: false}, email : {type: String, required: true} }); module.exports = mongoose.model('user', User); 我想创build函数来更新,保存或删除数据库中的用户。 我应该把这些数据库相关的function放在哪里? 我正在思考的路线文件,但也在model.js文件本身,或其他地方?

用mongodb保存node.js的asynchronous性质的多个数据

我有一个ID数组: var ids = ['53asd3','53asd2','53asd5']; 每个id在mongodb中都有相应的文件。 我想通过填充每个对象的数据来生成一个对象,并保存在其他文档中。 喜欢这个: { person: { /* data from some collection populated with first id */}, company : { /* data from some collection populated with first id */}, employee : {/* data from some collection populated with first id */} } 我做了什么 var document = {} models.persons.find({_id:'53asd3'},function(err,data){ if(!err) { […]

Mongoose文档错误? 模型保存()numberAffected 1更新而创造?

混淆了Mongoose文档….它声明为model.js save(): product.sold = Date.now(); product.save(function (err, product, numberAffected) { if (err) .. }) 该callback函数将接收三个参数,如果发生错误,则为err,保存的产品,以及在数据库中find并更新文档时将为1的numberAffected,否则为0。 当我插入一个新的文件到我的模型/数据库时,我得到了numberAffected 1。但从文档,1将是如果文档被发现…这不会意味着该文件存在以前,它会更新,而不是创build? 要清楚的是,我创build的文件总是新的,从来没有预先存在。 从来没有预先存在的文件被更新而不是插入。 然而,我得到号码的影响1

mongoose嵌套架构的未定义types

我已经build立一个数据库(使用C#驱动程序)与文件: { _id: ObjectID('xxxxxxx'), var: 10, data: { _id: ObjectID('yyyyyyy'), data_var1: 11, data_var2: 12 } } 我试图用Mongoose来devise它: var MyDataType = new Schema({ _id: ObjectID, data_var1: Number, data_var2: Number }); var schema = new Schema({ _id: ObjectID, var: Number, data: MyDataType }); 不过,我有这个错误: TypeError: MyDataType未定义types 你尝试嵌套模式? 你只能使用参考或数组嵌套。 从错误消息来看,似乎不能像我这样使用模式,我必须使用引用(然后使用mongoose的填充函数)或数组。 我无法使用数组,因为我的数据库。 我不能使用任何一个引用,因为MyDataType没有自己的集合,而是一个embedded式文档。 有没有办法使用它与我的数据库? 注意:用我的C#驱动程序, schema和MyDataType是类

Mongo子文档人口

你好,我有三个模型 post: var PostSchema = new Schema({ title: { type: String, required: true, default: '', }, content: { type: String, required: true, default: '', }, community: { type: String, default: '', }, price: { type: String, required: true, default: '', }, location: { type: String, required: true, default: '', }, images: { type:[], required: true, […]

mongoose场如何自动增量

我有一个像下面的mongoose模式: var userSchema = new Shema({ userName: {type: String, default: "ABC"}, lastLoginTime: {type: Date, default: Date.now}, loginTimes: {type: Number, default: 1}, …… }); 而且我想更新lastLoginTime,并且在用户每次login时都让loginTimes加1。 很容易更新lastLoginTime ,只是给它一个新的时间string。 但是我怎样才能使loginTimes加一次。

通过Mongoose的值仅查找数组中的一个项目

这里是我的模式与一些数据的一个例子: client { menus: [{ sections: [{ items: [{ slug: 'some-thing' }] }] }] } 我正在尝试像这样select它: Schema.findOne({ client._id: id, 'menus.sections.items.slug': 'some-thing' }).select('menus.sections.items.$').exec(function(error, docs){ console.log(docs.menus[0].sections[0].items[0].slug); }); 当然,“docs.menus [0] .sections [0] .items [0] .slug”只适用于每个数组中只有一个东西。 如果每个数组中有多个项目,而不必遍历所有内容以find它,我怎么能做到这一点? 如果你需要更多的细节让我知道。

mongoose:如何在variables中创build特定的字段标准

我试图有一个先进的search表单,采取多种标准,并包括他们在mongoosesearch,这是我想的方法 router.post('/search/university', function(req, res) { var university = req.body.university.toLowerCase(); var searchCriteria = education_key + ":" + {$RegExp("^" + university)}; User.find({searchCriteria}, function(err, matching_users){ res.render('searchresults', {user_array : matching_users, school : req.body.university}); }); }); 但是,我不能像这样构buildsearchCriteria,因为显然有括号,而这些不起作用。

使用MongoDB Aggregation计算多个平均值

我一直负责在一天,一周,一个月和一年中为MongoDB中相当大的一组文档生成平均值。 所有的工作都有一个created领域,我需要基于outputs数组的平均值… 这是一个文件的样子: { __v: 0, _id: ObjectId("535837911393fd0200d8e1eb"), created: ISODate("2014-04-23T21:58:41.446Z"), output: [ { ref: { img: false }, type: "image/png", methods: [ { options: { height: 200, width: 200 }, method: "resize" } ] }, { ref: { img: false }, type: "image/png", methods: [ { options: { height: 400, width: 400 }, method: "resize" […]

填充()引用嵌套在对象数组中

我试图用Show模型中的数据填充()我的用户模型中的所有订阅。 我试过.populate('subscriptions.show'),但是对结果没有任何作用。 如果我订阅像这样的一个普通的Refs数组 subscriptions: [{type: Schema.Types.ObjectId, ref: 'Show'}] 做一个填充('订阅')按预期工作 我已经看过在Stackoverflow上可以find的每个类似的问题,以及我可以在文档中find的东西。 我看不出我做错了什么。 完整的testing文件源,我正在与https://gist.github.com/anonymous/b7b6d6752aabdd1f9b59 架构和模型 var userSchema = new Schema({ email: String, displayName: String, subscriptions: [{ show: {type: Schema.Types.ObjectId, ref: 'Show'}, favorite: {type: Boolean, default: false} }] }); var showSchema = new Schema({ title: String, overview: String, subscribers: [{type: Schema.Types.ObjectId, ref: 'User'}], episodes: [{ title: String, firstAired: […]