Questions tagged «mongoose»

Mongoose是用JavaScript编写的MongoDB对象建模工具或ODM(对象文档映射器),旨在在异步环境中工作。

6
在猫鼬中填充后查询
一般来说,我对Mongoose和MongoDB还是很陌生,所以我很难确定是否可能发生以下情况: Item = new Schema({ id: Schema.ObjectId, dateCreated: { type: Date, default: Date.now }, title: { type: String, default: 'No Title' }, description: { type: String, default: 'No Description' }, tags: [ { type: Schema.ObjectId, ref: 'ItemTag' }] }); ItemTag = new Schema({ id: Schema.ObjectId, tagId: { type: Schema.ObjectId, ref: …


16
猫鼬模式尚未注册模型
我正在学习平均堆栈,当我尝试使用启动服务器时 npm start 我得到一个例外,说: schema hasn't been registered for model 'Post'. Use mongoose.model(name, schema) 这是我在/models/Posts.js中的代码 var mongoose = require('mongoose'); var PostSchema = new mongoose.Schema({ title: String, link: String, upvotes: { type: Number, default: 0 }, comments: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Comment' }] }); mongoose.model('Post', PostSchema); 如我所见,模式应该为模型“ Post”注册,但是什么可能导致异常抛出呢? 提前致谢。 编辑:这是异常错误 /home/arash/Documents/projects/personal/flapper-news/node_modules/mongoose/lib/index.js:323 …


6
猫鼬删除文档中的数组元素并保存
我的模型文档中有一个数组。我想根据我提供的密钥删除该数组中的元素,然后更新MongoDB。这可能吗? 这是我的尝试: var mongoose = require('mongoose'), Schema = mongoose.Schema; var favorite = new Schema({ cn: String, favorites: Array }); module.exports = mongoose.model('Favorite', favorite, 'favorite'); exports.deleteFavorite = function (req, res, next) { if (req.params.callback !== null) { res.contentType = 'application/javascript'; } Favorite.find({cn: req.params.name}, function (error, docs) { var records = {'records': …
77 node.js  mongoose 

9
将猫鼬文档转换为json
我以这种方式将猫鼬文档作为json返回: UserModel.find({}, function (err, users) { return res.end(JSON.stringify(users)); } 但是,还返回了user .__ proto__。没有它我怎么能回来?我尝试了这个但是没有用: UserModel.find({}, function (err, users) { return res.end(users.toJSON()); // has no method 'toJSON' }

1
在MongoDB和Mongoose中执行全文搜索的最佳方法
几天以来,我一直在Google上进行搜索,并且尝试了很多操作,但是仍然无法对用户集合进行良好的全文搜索。 我尝试了ElasticSearch,但几乎无法查询和分页... 我尝试了许多用于Mongoose的插件,例如ElMongo,mongoose-full-text,Mongoosastic等...每个人的文档都非常糟糕,我不知道如何执行良好的全文本搜索。 因此,我的收藏是普通收藏: user = { name: String, email: String, profile: { something: String, somethingElse: String } } 我在一个简单的页面中有一个搜索输入POST,如果输入的hello world话,我需要在整个集合字段中搜索搜索查询的匹配词并获取结果。 还有很多选项可以处理分页,例如每页10个项目等等。 实现此目标的最佳解决方案是什么?我在Mongoose,NodeJS和ExpressJS中使用MongoDB 2.6。*。 谢谢。

10
猫鼬:人口众多(人口众多)
我有Category模特: Category: ... articles: [{type:ObjectId, ref:'Article'}] 文章模型包含对的引用Account model。 Article: ... account: {type:ObjectId, ref:'Account'} 因此,使用填充的articles类别模型将是: { //category articles: //this field is populated [ { account: 52386c14fbb3e9ef28000001, // I want this field to be populated date: Fri Sep 20 2013 00:00:00 GMT+0400 (MSK), title: 'Article 1' } ], title: 'Category 1' } …


13
猫鼬:CastError:在路径“ _id”中,值“ [object Object]”的对象转换为ObjectId失败
我是node.js的新手,所以我觉得这将是我忽略的愚蠢之举,但我一直无法找到解决问题的答案。我想做的是创建一个路径,该路径将创建一个新的子对象,将其添加到父对象的子对象数组中,然后将该子对象返回给请求者。我遇到的问题是,如果我将字符串ID传递给findById,节点将崩溃 TypeError:对象{}没有方法“ cast” 如果我尝试传递一个ObjectId,我得到 CastError:对于路径“ _id”中的值“ [object Object]”,转换为ObjectId失败 这是我的代码的粗略概述: var mongoose = require('mongoose'); var Schema = mongoose.Schema; var ObjectId = Schema.ObjectId; //Have also tried Schema.Types.ObjectId, mongoose.ObjectId mongoose.connect('mongodb://user:password@server:port/database'); app.get('/myClass/:Id/childClass/create', function(request, result) { var id = new ObjectId(request.params.Id); MyClass.findById(id).exec( function(err, myClass) { if (err || !myClass) { result.send("error: " + err + …



4
猫鼬-创建文档(如果不存在),否则,在两种情况下均会更新并返回文档
我正在寻找一种将代码的一部分重构为更短,更简单的方法,但是我对Mongoose不太了解,我不确定该如何进行。 我正在尝试检查集合中是否存在文档,如果不存在,则创建它。如果确实存在,我需要对其进行更新。无论哪种情况,我都需要随后访问文档的内容。 到目前为止,我设法做到的是查询集合中的特定文档,如果找不到,则创建一个新文档。如果找到它,我将对其进行更新(当前使用日期作为虚拟数据)。从那里,我可以从我的初始find操作中访问找到的文档,也可以访问新保存的文档,并且此方法有效,但是必须有更好的方法来完成我要执行的操作。 这是我的工作代码,没有其他功能。 var query = Model.find({ /* query */ }).lean().limit(1); // Find the document query.exec(function(error, result) { if (error) { throw error; } // If the document doesn't exist if (!result.length) { // Create a new one var model = new Model(); //use the defaults in the schema …

4
通过Mongoose JS的MongoDB-什么是findByID?
我正在用ExpressJS,PassportJS,MongoDB和MongooseJS编写NodeJS服务器。我只是设法让PassportJS使用通过Mongoose获得的用户数据进行身份验证。 但是要使其正常工作,我必须使用如下所示的“ findById”函数。 var UserModel = db.model('User',UserSchema); UserModel.findById(id, function (err, user) { < SOME CODE > } ); UserModel是猫鼬的模型。我UserSchema早先声明了架构。所以我想这UserModel.findById()是猫鼬模型的一种方法吗? 题 该怎么findById办,上面有文档吗?我在谷歌上搜索了一下,但没有找到任何东西。
70 mongodb  mongoose 

6
如何在猫鼬中进行原始mongodb操作?
我之所以这样问是因为编写单元测试时,我想删除测试数据库并插入一些初始化数据,还要在测试中检查mongodb中的数据。所以我需要对mongodb进行原始操作。 猫鼬该怎么做?我现在能做的就是创建连接,而在mongoose的官方网站上找不到任何文档。 var mongoose = require('mongoose'); mongoose.connect('mongo://localhost/shuzu_test'); // get the connection var conn = mongoose.connection; 但是如何: 删除数据库 创建一个收藏 向集合中写入一些数据 查询集合 删除收藏
70 mongodb  mongoose 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.