草庐IT

mongoose-populate

全部标签

node.js - `path` 无效。必须是字符串或数组 mongoose

我正在使用node.js和mongoose编写代码,我陷入了发布Material的问题,其中Material是我的实体。架构如下:newSchema({title:{type:String,trim:true,set:util.ucfirst,required:true},description:{type:String,required:true,trim:true},downloads:{type:Array,default:[],required:true},course_id:{type:String,required:false},_status:{required:fals

javascript - Mongoose 查询在对象数组的对象字段中找到 'string'

我的模型是这样的:Collection=newSchema({name:{type:String,required:true},tags:[String],movies:[{_id:false,original_title:{type:String}}])};我需要更改以下查询以使用“req.body”(字符串数组)不仅在“tags”数组中找到匹配项,而且在电影数组。Collection.find({'tags':{$in:req.body}},(err,collections)=>{if(err){res.status(400).json(err);}if(!collections)

mongodb - Mongoose 重命名集合

我正在尝试制作db.collection.renameCollection使用Mongoose,但我无法在任何地方找到该功能。是他们没有添加它还是我看错地方了?作为我正在做的事情的简单示例是:varconn=mongoose.createConnection('localhost',"dbname");varCollection=conn.model(collectionName,Schema,collectionName);console.log(typeofCollection.renameCollection);其中显示未定义。varcon=mongoose.createConn

node.js - Mongoose 对回调的存在有不同的 react

我正在调试我想一个接一个执行以避免不一致的一大块Mongoose查询。经过大量的试验、错误和测试,我终于偶然发现了一个似乎有效的解决方案。在一个查询中,我包含了一个查询,而在另一个查询中,我跳过了回调函数。我所指的回调可以在Model.findByIdAndUpdate语句的语法中看到。Model.findByIdAndUpdate(id,[更新],[选项],[***回调***])有回调函数的完美执行,没有回调函数的不执行。它被封装在一个返回Mongoosepromise的函数中。这是Robomongo中成功添加“组织者”的模式的第一个查询:functionaddUserToHacka

node.js - 使用 mongoose 连接到 mongodb 时出现 "Cannot read property ` 消息 ` of null"

我正在为我的MEAN应用创建行走骨架。我已成功连接到mongodb(已打开multivisiondb),但继续进行时,我在尝试将消息打印到浏览器窗口时收到标题中描述的错误:mongoose.connect('mongodb://localhost/multivision');vardb=mongoose.connection;db.on('error',console.error.bind(console,'connectionerror...'));db.once('open',functioncallback(){console.log('multivisiondbopened')

node.js - mongoose 不是和 nosql 矛盾吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭10个月前。Improvethisquestion我看过很多关于MongoDB和Mongoose的视频和教程,虽然我认为Mongoose做得很好,但它与NoSql数据存储提供的灵active不矛盾吗?那是一个无模式的环境。如果我想向我的文档添加新属性或数组怎么办?我必须正确更新我的Mongoose模式吗?这似乎与灵活文档存储的整个要点有悖常理。如果我希望我的应用程序更加灵活,Mongoose不是我应用程序的错误选择吗?

node.js - Mongoose : How to find documents in which fields match an ObjectId or a string?

这是NodeJs中的mongooseDataModel产品:{type:mongoose.Schema.Types.ObjectId,ref:'products',required:true}但是在数据库中,这个字段在文档中有多种类型的值,有String和ObjectId我在Mongoose中查询这个{$or:[{"product":"55c21eced3f8bf3f54a760cf"},{"product":mongoose.Types.ObjectId("55c21eced3f8bf3f54a760cf")}]}但这只是获取将该字段存储为ObjectId的文档。有什么方法可以获取所

node.js - Mongoose model.save() 挂起

我正在开发一个定义Mongoose模型的命令行Node脚本,然后使用该模型创建一个新文档,然后保存它。但是.save(function(){...});方法似乎没有完成。它将文档保存在Mongo中,但脚本只是停留在那里而没有完成。它永远不会返回到命令提示符:varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/mydb');varschema=newmongoose.Schema({name:String,street:String});varLocation=mongoose.model('Loca

node.js - 匹配 Mongoose 数组中指定的所有值

所以我想运行一个mongoose查询来查找所有searcharray标签都存在的帖子。标签数量不同。目前这会返回存在任何标签的帖子。Post.find({'tags.name':{$in:searcharray}},function(err,post){console.log(post);});我检查了文档,但无法完全将其拼凑起来。谢谢 最佳答案 你想要$all,这基本上是一个语法较短的$and操作,就像$in是一个语法较短的$or操作一样:Post.find({"tags.name":{"$all":searcharray}},f

node.js - 使用 mongoose 和 Fixie(Heroku 附加组件)连接到 mongodb

我有一个托管在AtlasMongoDBCloud集群上的mongodb数据库。我目前正在使用Mongoose访问我的node.js应用程序中的数据库:mongoose.connect("mongodb://user:pw@cluster0-shard-00-00-***.mongodb.net:***,cluster0-shard-00-01-***.mongodb.net:***,cluster0-shard-00-02-***.mongodb.net:***/admin?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin");