草庐IT

mongoose-orm

全部标签

node.js - 使用 mongoose api 和 nodejs 搜索数据库?

我正在使用nodejs和mongoose构建一个api,我正在尝试执行搜索功能,但它似乎无法查询任何内容,代码。app.get('/search',function(req,res){returnQuestions.find({text:"noodles"},function(err,q){returnres.send(q);});});它没有给我任何结果,我知道这个查询应该至少有4个结果,问题数据库中的4个文档带有“noodles”一词,数据库连接和我的Node服务器一切正常 最佳答案 您的查询所做的是查找text属性与"nood

javascript - Mongoose map

我正在尝试在Mongoose中创建一个具有映射(对象、关联数组、键值对)的模式,但到目前为止没有成功。我的架构的文档必须是这样的:{"_id":ObjectId("..."),"groups"{"groupA":{"value1":"...","value2":"..."},"groupB":{"value3":"...",},"groupC":{"value4":"...","value5":"...",},...}}groups是具有可变数量的键的对象。我不提前知道这些key,因为它将由用户创建。组中的每个条目都是另一个对象。和以前一样,我不知道键标识符,但我知道值是String(

node.js - Mongoose 在静态函数中创建一个新对象

如何在架构中定义的静态方法之一中创建新对象?我基本上有UserSchema.statics.createUser=function(username,password,cb){..}我希望能够在函数内保存用户对象的新实例。我想在该方法中执行类似varuser=newUser(...)的操作,但它当然不起作用,因为尚未创建User模型。我该怎么办? 最佳答案 当您第一次调用静态函数时,this将绑定(bind)到模式的模型。你可以这样做:someSchema.static('foo',function(){constnewUser=n

node.js - Mongoose - 获取模型中数组的长度

我有这个Mongoose架构:varpostSchema=mongoose.Schema({postId:{type:Number,unique:true},upvotes:[{type:Number,unique:true}]});获取upvotes数组长度的最佳查询是什么?我不认为我需要使用聚合,因为我只想查询一个模型,只需要给定模型的upvotes数组的长度。真的很难在网上找到这些信息-我搜索的所有内容都提到了我认为不需要的聚合方法。另外,作为旁注,upvotes数组的唯一架构属性不起作用,也许我做错了。 最佳答案 find结

node.js - 如何在 forEach 循环中运行 Mongoose 查询

谁能帮助我如何在nodejs的forEach循环中运行Mongoose查询并建议两个集合的内部连接结果需要喜欢下面的细节userSchema.find({},function(err,users){if(err)throwerr;users.forEach(function(u,i){varusers=[];jobSchema.find({u_sno:s.u.sno},function(err,j){if(err)throwerr;if(!u){res.end(JSON.stringify({status:'failed:Auctionnotfound.',error_code:'40

node.js - 如何使用mongoose动态连接多个mongodb数据库?

在我的项目中有很多数据库,一个是masterDb,其他都是基于masterDb的数据库连接。例如,在验证页面中,用户可以输入“公司id”,这个“公司id”可以通过masterDb进行检查,如果存在id,则返回特定公司的数据库名称。使用我想连接到特定公司数据库的数据库名称。现在我可以成功登录并获得数据库名称。使用这个数据库名称(req.headers['x-key-db'])我可以连接到特定的数据库。但在这里我将数据库连接代码放在每个api调用中。有没有其他方法可以创建一次并在每个api调用中动态使用它。app.get('/api/student-limited/:_pageNumber

node.js - 无法使用 mongoose 在 mongodb 中持久化对象数组

我正在尝试使用mongoose在文档中保留一组对象。我已经尝试了多次,但它没有在文档中持久化数组。它在文档中放置一个空数组。以下是我的架构:varProfileSchema=newSchema({name:String,PagesData:[{pageAccessToken:{type:String,get:decryptText,set:encryptText},category:String,name:String,id:String,perms:[String]}]});module.exports=mongoose.model('Profile',ProfileSchema);

node.js - nodejs mongoose 批量更新

我有一个文档集合,我需要为所有文档添加一个新字段。如果我运行查询以获取所有文档,然后更新每一个node.js停止,可能是因为内存泄漏这是我的代码varexpress=require('express');vargeocoderProvider='google';varhttpAdapter='http';varPeople=require("./models/people").collection.initializeOrderedBulkOp();varapp=express();vargeocoder=require('node-geocoder').getGeocoder(geo

node.js - Mongoose 不会将数据保存到 MongoDB

下面是我试图保存到MongoDB的对象文字。它在作为Express服务器的app.js文件中定义。由于该对象是在服务器中硬编码的,我的假设是每次我运行服务器时都会将一个新副本保存到数据库中,或者至少该文档将保存一次,并在检测到该文件时被覆盖或保持不变新文档与上次服务器运行时保存的文档相同。令我惊讶的是,不仅没有在MongoDB中创建副本,而且根本没有保存文档。但是,已经创建了“新闻”集合,并通过mongoshell的“显示集合”进行了验证。此外,我在回调函数中没有收到任何错误。我还在我的Express'/news'路由中尝试了Model.create(doc,fn),但这也不起作用(每

javascript - Mongoose .js : How to Implement Tree Structure via Population

我正在使用Mongoose3.x实现一个树结构(类似于Mongo文档中的这个),但我不确定封装所有逻辑以加载特定节点及其兄弟节点的最佳方式和祖先一般,特别是如何最好地使用ref与ref-er位于同一集合中的人口功能。在某些情况下,我正在使用的树是未编辑节点但可能随时将新子节点添加到任何节点的树。到目前为止,我已经使用一组模型方法正常工作,这些方法在初始查找后加载对象,但似乎应该有更好的方法来轻松加载单个分支,其中包含我需要的所有父级和兄弟级数据Controller中的命令,并将所有相关人口封装在模型上的一些方便的查找方法中。然后,我尝试使用的基本架构可能是这样的(也可在此处获得:htt