Articles of mongoose

Mongoose只从文档的嵌套数组中返回一个元素

我想在我的文档中的数组中获取单个元素,而无需获取整个数组本身。 有可能做到使用mongoose? 我试过使用dot.notation,但它似乎并没有工作 – 它只是提取空的嵌套对象后,“索引点” // Here I'd like to get // The first undo-ed item from the first board within my `boardBucket` Room.findOne({name: this.name}, `boardBucket.items.0.undoedItems.1`, (err, result)=> { if (err) throw err; console.log(JSON.stringify(result, null, 4)); }) 有没有办法做到这一点? 我想避免提取整个数组的原因 我的对象非常大,如果我把它们全部取回,会导致内存问题 然而,一个人看着它是无效的。 这是我的Schema以防止它有帮助: var roomSchema = new mongoose.Schema({ name: String, boardBucket: { currentBoardId: String, items: [ […]

mongoose“架构方法”callback不起作用

我是新来的mongoose和node.js。 我尝试按照这个教程: https : //scotch.io/tutorials/using-mongoosejs-in-node-js-and-mongodb-applications#sample-model-for-users 在我的入口点index.js中,我试图调用“chenya.saltHashPassword(function(err,passwordHash)”,它实际上是在user.js中调用的,因为user.js可以打印出三条日志消息,但是没有日志这个方法的消息在index.js中调用,而save方法可以打印出表示成功保存的日志消息: //Lets load the mongoose module in our program var mongoose = require('mongoose'); //Lets connect to our database using the DB server URL. mongoose.connect('mongodb://localhost:27017/server_naturis'); // if our user.js file is at app/models/user.js var User = require('./user'); // create a new user called Chenya var chenya = new User({ userName: 'Chenya', […]

用mongoose检查储值

我正在寻找最快的方式来获得隐私值为“公开”的集合的所有对象ID。 在这个图像中,隐私的价值是“公开的”,所以节点应该给我这个对象的'_id'(在这个例子中是'57bc4b9f466fab7c099a3f94')。 我的尝试: var mongoose = require('mongoose'); mongoose.connect('localhost:27017/databasename'); var Schema = mongoose.Schema; var collectionsNameSchema = new Schema({ updated: {type: Date }, privacy: { type: Object } }, {collection: 'spots'}); var collectionsNameData = mongoose.model('collectionsNameData', collectionsNameSchema); … collectionsNameData.find({privacy: 'public'})

Mongoose更新查询不能与node.js一起使用

首先我要通过以下方式在mongodb中input内容: var device = new Device(inputDetailsJson); //device model instance device.save(function(err) { if (err) { res.send(err); } else { res.write('Successful'); res.end(); } }); 这是设备型号: // Dependencies var mongoose = require('mongoose'); var Schema = mongoose.Schema; // Schema Definition var deviceSchema=new Schema ({ "deviceId":{ type : String , unique: true}, "version":{ type : String }, "manufacturer":{ type : […]

使用mongoose的承诺进行护照authentication

var LocalStrategy = require('passport-local').Strategy; var User = require('../models/user'); module.exports = function(passport){ passport.use('local-signup', new LocalStrategy({ usernameField: 'email', passwordField: 'password', passReqToCallback: true }, function(req, email, password, done){ User.findOne({'local.username': email}).exec() .then(function(user) { console.log(user); if(user){ return done(null, false, {message: 'Username already taken!'}); } else{ var newUser = new User(); newUser.local.username = email; newUser.local.password = password; return newUser.save(); } }) […]

更新Mongoose中的嵌套对象的单个数组值

我正在尝试使用Mongoose更新数组中的值,下面给出了我创build的表 var newUser = User({ name : 'XXX', userName : 'XXX', password : 'XXX', admin : true, location : 'KKK', studentDeatails : [ { name : 'AAA', study : { dept : 'CSE', course : 'B.E', year : 4 } }, { name : 'BBB', study : { dept : 'EEE', course : 'B.E', year […]

在mongo中插入数组不会发生?

我是MongoDb的新手,我有一个关于数据插入的问题。 我用于'用户'集合的mongoose模式: var user = new mongoose.Schema({ username : {type: String}, email : {type: String,index: {unique: true}}, password : {type: String}, feed : [{ title : {type: String}, description : {type: String}, latitude : {type:Number}, longitude : {type:Number}, feedImages : [{ imageUrl: {type: String} }] }] }); 我想插入数据到feedimages和我的服务是: app.post('/uploadFeedImage',function(req,res) { var _id = req.body._id; var […]

mongoose没有正确sorting数字

我在使用mongoose的mongodb数字sorting有问题。 我的数据看起来像50,3000,75,42000,400,100 : [ {"date":"2015-10-09 16:42:50","price":"700","item":"Milk"}, {"date":"2016-08-04 00:46:13","price":"60","item":"Bread"}, {"date":"2016-06-14 20:42:49","price":"50","item":"Soap"} ] 按sorting数字sorting时,结果为75,50,42000,400,3000,100 。 我期待42000,3000,100,75,50 。 我的代码 Orders.find({order_type:'buy',status:'instock'}) .sort([['price', 'desc']]) .limit(10) .exec(function(e, data){ });

如何使主键/ _id可选可以inputmongoose

我想让主键不需要input,但主键在mongodb中自动生成。 所以,我使用{type:ObjectId,required:false},但它不会工作,因为我让主键为空。 那么还有另外一种方法可以使主键可selectinput吗? 谢谢 restapi模型 var mongoose = require("mongoose"); var Schema = mongoose.Schema; var ObjectId = Schema.ObjectId var accessmenu = new Schema({ _id : {type : ObjectId,required: false}, acc_id : String, name : String, read : Boolean, execute : Boolean },{ collection: 'access_menu'}); var accessmenu = mongoose.model("accessmenu",accessmenu); module.exports.accessmenu = accessmenu; restapi app.put("/access_menu/:id",function(req,res){ var AccessMenu = […]

使用mongoose的重复的项目

我试图从列表中插入元素使用节点和mongoose在我的数据库。 该列表只包含url作为string。 在插入之前,检查URL是否已经在用户的数据库中。 “人”是一个文件,链接是一个数组: for (var i = 0; i < url.length; i++) { var found = false; //if no links if (person.links.length === 0) { person.links.push({link: url[i]}); person.save(function (err) { if (err) return handleError(err); }); } else{ //for each link in database for (var z = 0; z < person.links.length; z++) { //If we […]