Tag: mongodb

Mongoose elemMatch返回一个空数组

我目前正在构build一个Web应用程序,并且在过去的12个小时里我发现了一个我无法解决的问题。 我正在研究一种基本的get方法,在这种方法中,我试图检索某个员工正在工作的某些工作职位(即收银员,职员)(客户端完美工作)。 WorkPosition的mongoose模型是这样的(models / work-position.js): var mongoose = require('mongoose'); var User = require('./user'); var Schema = mongoose.Schema; var schema = new Schema ({ workplace : {type: String, required: true}, type : {type: String, required: true}, status : {type: String, required: true}, color : {type: String, required: true}, employees: [{type: Schema.Types.ObjectId, ref:'User'}] }); module.exports = mongoose.model('WorkPosition', […]

NodeJS从MongoDB中检索多个数据并在Jade上显示(Pug)

我有一些MongoDB集合,并需要在我的网站中显示它们,使其成为一个dynamic页面(这是团队成员,如果1被删除或添加,它应刷新页面上) 我的集合就像( mongodbterminal ): db.capitao.find() = { "_id" : ObjectId("59a6b67519404d41f9988524"), "nome" : "Renato", "email" : "example@gmail.c om", "imagem" : "renato.png", "curso" : "Engenharia Mecânica", "lider" : 1 } db.chassi.find() = { { "_id" : ObjectId("59a6b69f19404d41f9988529"), "nome" : "Carlos", "email" : "example@ufrgs.br ", "imagem" : "possebon.png", "curso" : "Engenharia Mecânica", "lider" : 1 } { "_id" […]

使用Mongoose顺序创build文档

我们有一个模型,看起来像 const NodeSchema = new Mongoose.Schema({ title: { type: String, default: ''}, order: { type: Number, min: 0, required: true }, parentId: { type: String, ref: 'Node', default: null }, }); Mongoose.model('Node', NodeSchema); 我们使用Mongoosevalidation规则validationparentId是否指向以前添加的文档。 所有灯具都在JSON文件中,并且它们被sorting,以便在其父项之前不添加任何节点。 然后我们使用下面的代码加载灯具: const fixtures = JSON.parse(Fs.readFileSync(file), 'utf8'); model.create(fixtures, next); 我们的问题是灯具没有按照它们在文件上的顺序加载,validation失败。 除了逐个添加灯具(即使使用Async和Bluebird,也会造成非常难看的asynchronous代码),有没有办法让Mongoose按顺序添加灯具?

Mongooseselect字段从findOneAndUpdate返回

在Nodej中使用Mongoose可以使用find返回一些字段。 例如。 User.findOne({_id:'132324'}, {first_name:1, last_name:1}).exec… 但我似乎无法弄清楚如何使用findOneAndUpdate返回某些字段。 User.findOneAndUpdate({_id:'132324'}, {$set : {..bla bla}}, {first_name:1, last_name:1}).exec…. 有没有人以前做到这一点? 我无法在文档中find它。

如何search所有的mongodb集合(本地驱动程序)?

我试图search一个数据库中的所有集合,但我不知道如何在forEach循环结束时返回数据。 我明白这是一个承诺或asynchronous/等待的地方,但不知道如何在forEach之后正确使用它:-( //db.js var MongoClient = require('mongodb').MongoClient; module.exports = { searchAllCollections: function() { return MongoClient.connect('mongodb://localhost:27017/nodeLists', {poolSize: 10}).then(function(db) { var ipList = []; db.listCollections().forEach((doc) => { console.log(doc.name); db.collection(doc.name).find({ip: "192.168.0.1"}).toArray((err, data) => { console.log(data); ipList.push(data); }); }); }); } }; //app.js var db = require('./db'); db.searchAllCollections().then(function(items) { console.info('Returned data:',items); }, function(err) { console.error('The promise was rejected', err, […]

在mongoDb中,如何通过索引来删除数组元素

{ "_id" : ObjectId("4d1cb5de451600000000497a"), "name" : "dannie", "interests" : [ "guitar", "programming", "gadgets", "reading" ] } 在上面的例子中,假设上面的文档在db.people集合中。 如何通过它的索引去除interest数组的第三个元素? 编辑: 这是我目前的解决scheme: var interests = db.people.findOne({"name":"dannie"}).interests; interests.splice(2,1) db.people.update({"name":"dannie"}, {"$set" : {"interests" : interests}}); 有更直接的方法吗?

在Nodejs中查找Mongodb

我正在使用nodejs和MongoDb并使用MongoClient进行连接 我的ejs文件 <form method="POST" action="/addUser"> <div class="modal-content"> <div class="modal-header login-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Add Role</h4> </div> <div class="modal-body"> <input type="hidden" name="_csrf" value=<%=csrfToken%> /> <input type="text" placeholder="Name" name="name" ng-model="name"> <input type="text" placeholder="Password" name="password" ng-model="password"> <select name="role" ng-model="role" > <option ng-repeat="role_type in roles" value="{{role_type._id}}">{{role_type.role}}</option> </select> </div> <div class="modal-footer"> <button type="submit" class="add-project">Save</button> <button type="submit" class="cancel" data-dismiss="modal">Close</button> […]

如何用MongoDBbuild立“喜欢”投票系统

目前我正在开发一个移动应用程序。 基本上人们可以张贴他们的照片和追随者可以像Instagram的照片。 我使用mongodb作为数据库。 像Instagram一样,可能会有很多喜欢单张照片。 所以使用一个索引单个“像”的文件似乎是不合理的,因为它会浪费大量的内存。 不过,我想要一个用户快速添加一个。 所以我的问题是如何build模“喜欢”? 基本上数据模型是非常类似于instagram,但使用Mongodb。

mongoose,如何在子文档中loggingupdate_time

我有一个mongoose模式是: 这是我的mongoose模式 'use strict'; module.exports = app => { const mongoose = app.mongoose; const custSchema = new mongoose.Schema({ belong: { // 所属信息 user_id: { type: 'String', required: true }, type: { type: 'Number', required: true }, // bee、4s店、平台 username: { type: 'String', required: true }, // 用户名 }, delete: { type: Number, default: 0 }, […]

发布错误 – Node.JS(有效载荷)

今天,当我的服务器(本地)与一个base64图像需要一个职位正在返回此错误:前端正在使用AngularJS后端使用MongoDB,Node.JS,Mongoose和NodeRestFULL 面前 错误后端 在这里我的server.js const express = require('express') const server = express(); //transform params to int const queryParser = require('express-query-int') //const allowCors = require('./cors') server.use(function(req,res,next){ res.header('Access-Control-Allow-Origin','*') res.header('Access-Control-Allow-Methods','GET,POST,OPTIONS,PUT,PATCH,DELETE') res.header('Access-Control-Allow-Headers','Origin, X-Requested-With, Content-Type, Accept') res.header('Access-Control-Allow-Credentials', true); next() }) server.use(queryParser()) server.use(bodyParse.text({type:'*/*'})) server.use(bodyParse.urlencoded({limit: '50mb', extended: true})) server.use(bodyParse.json({type:'json/*', limit: '50mb'})) //server.use(bodyParse.urlencoded({limit: '50mb'})); server.listen(port, function(){ console.log(`BACKEND está rodando na porta ${port}`) }) […]