Tag: mongoose

数组更新在mongoDB

我有这样的mongoose模式: var mySchema = new mongoose.Schema({ user: String, photos: [{ url: String, thumbnail: String, time: Date, mainPhoto: Boolean }] }); 现在,我想制作一个“setMainPhoto”函数 – 对于给定的id – 将mainPhoto标志设置为true,并将其设置为false为其他照片。 有这样一个文件: { "_id": { "$oid": "56269dea07a455920a21bca7" }, "user": "someUser", "photos": [ { "time": { "$date": "2015-05-25T08:37:56.000Z" }, "thumbnail": "https://s3-eu-west-1.amazonaws.com/…jpg", "url": "https://s3-eu-west-1.amazonaws.com/…jpg", "_id": { "$oid": "56269e2e07a455920a21bcab" }, "mainPhoto": false }, { […]

为什么我不能在mongoose/蒙戈德增量?

我试图增加,但结果总是显示它是未定义的。 var mongoose = require('mongoose'); var TestSchema = mongoose.Schema({ total: Number }); var Test = mongoose.model('Test', TestSchema); var arr = [2,4,5,6,7,8]; var test = new Test(); arr.forEach(function(item) { console.log(item); test.total += item; }); console.log(test.total); console.log(test.total)将打印输出未定义。

Mongoose将文档作为基于键的数组数组来获取

我真的不知道如何构思这个问题,但是我拥有的是mongoose中的以下模式 new Schema({ gatewayId: { type: String, index: true }, timestamp: { type: Date, index: true }, curr_property:Number, curr_property_cost:Number, day_property:Number, day_property_cost: Number, curr_solar_generating: Number, curr_solar_export:Number, day_solar_generated:Number, day_solar_export:Number, curr_chan1:Number, curr_chan2:Number, curr_chan3:Number, day_chan1:Number, day_chan2:Number, day_chan3:Number },{ collection: 'owlelecmonitor' }); 我希望能够查询集合中的所有文档,但是数据应按以下格式排列在数组中 [ [{ gatewayId: 1, timestamp: time …. }, { gatewayId: 1, timestamp: time2 …. }], [{ gatewayId: […]

Mongoose创build包含对象数组的logging(Cast to Array失败)

尝试什么似乎是一个相当简单的创build使用对象: var toSave = { person_number: "rjq8900", person_name: "john smith", cars: [{ car_id: "fordTaurus1994", make: "ford", model: "taurus", purchased: "31-Aug-15", price: "1650" }] } 进入模式: var People = new Schema({ person_number: String, person_name: String, cars:[{ car_id: String, make: String, model: String, purchased: Date, price: Number }] }) 通过: People.create(toSave, function(e, doc){ console.log(e); }); 我得到: errors:{ […]

检索基于数据的datemongodb

我已经创build了一个应用程序与2个模型的比赛指的是一个特定的联赛。 从这我不想做一个查询来获得即将到来的比赛所有的联赛。 我该怎么做,或者我应该改变模型的结构? 我试图做一个查询,但是这返回所有即将到来的比赛,而不是与即将到来的比赛的联赛 楷模 var mongoose = require('mongoose'), Schema = mongoose.Schema; var leagueSchema = new Schema({ _id: Number, name: String, league: Number }); var matchSchema = new Schema({ _id: Number, league: { type: Number, ref: 'league' }, date: Date, homeName: String, awayName: String }); var League = mongoose.model('leagues', leagueSchema); var Match = mongoose.model('matches', matchSchema); […]

如何以mongoose的数组格式填充数值

我有一个模型结构如下,其中舞台从另一个模型中检索 var stageSchema = new Schema({ Name: String, Stage: { type: Schema.ObjectId, ref: 'StageName', } }, { collection: 'StageList' }); 我写了查询来检索使用mongoose的数据,如下所示: exports.findall = function(req, res) { stage.find().populate({path:'Stage',select:'-_id'}).lean().exec(function(err, value1) { res.send(value1); }); }; 它显示如下所示的结果 [{_id:213465465465465, Name: "AAA", Stage: {Value: "Stage1"}},{_id:213465465465465, Name: "BBB", Stage: {Value: "Stage2"}}] 但是我希望舞台是没有“价值”键的数组格式,如下所示: [{_id:213465465465465, Name: "AAA", Stage: ["Stage1"]},{_id:213465465465465, Name: "BBB", Stage: ["Stage2"]}] 请帮助解决这个问题。 […]

使用embedded式文档列表还是使用ObjectId列表有什么不同?

在Mongoose文档中,我遇到了这个例子: var Comments = new Schema({ title : String , body : String , date : Date }); var BlogPost = new Schema({ author : ObjectId , title : String , body : String , date : Date , comments : [Comments] , meta : { votes : Number , favs : Number } }); […]

使用mongoose的数据操作不起作用

一旦我运行代码并发送交易报价(接收项目,获取数据,然后获取数据后,我的应用程序采取这一步),我得到一个错误。 emitter.on('depositImportedToDb', function(createNewDeposit) { var roundCode; var roundItems; var roundItemsData; emitter.on('updateItemsData', function(roundCode) { Round.findOne({ roundCode: roundCode }, function(err, data) { if (err) console.error(err); roundItemsData = data; console.log(roundItemsData); }); if(roundItemsData !== null || roundItemsData !== undefined) { for(var i = 0; i < roundItemsData.deposit.length; i++) { roundItems = roundItems + roundItemsData.deposit[i].items.length; } console.log("Current number of items […]

节点js mongoose从数组中search数据

我正在与node.js和mongoose工作,我卡在一个问题。 我的用户集合看起来像。 { "_id": ObjectId("564b6deec50de8d827c0a51a"), "email": "ak@gmail.com", "ngos": [ { "_id": ObjectId("564b7527ecc479e4259edff7"), "name": "Children trust", }, { "_id": ObjectId("564b79e0ecc479e4259edff8"), "name": "Charity Two", "location": "Australia" } ] } { "_id": ObjectId("564e0a18c8cd4b5420a9250c"), "email": "some@gsomel.com", "ngos": [ { "_id": ObjectId("564e0b3bc8cd4b5420a92510"), "name": "Charity Two", "location": "US" } ] } 我想find所有的名字像Charity所以它应该返回我。 { "_id": ObjectId("564e0b3bc8cd4b5420a92510"), "name": "Charity Two", "location": "US" } […]

MongoDB / Node:将集合中的文档的一部分插入另一个集合中的文档

谢谢阅读。 我正在试图获取我存储在mongodb数据库中的大量数据,以便在NodeJS中使用mongoose模块显示在前端。 我想知道解决这个问题的最好方法是什么? 我的数据看起来像这样… collections1:洞穴 { "_id" : ObjectId("564d2f6eb0896138247ff791"), "name" : "ACME Cave", "slug" : "acme-cave", "timeCreated" : ISODate("2015-11-19T02:09:50.492+0000"), "address" : { "county" : "Somewhere", "state" : "CA", "country" : "USA" } } collections2:地点 { "_id" : ObjectId("564d2f6fb0896138247ff855"), "latitude" : 54.5793621, "longitude" : -74.9669167, "parent_id" : ObjectId("564d2f6eb0896138247ff791"), <– matches collection 1 "timeCreated" : ISODate("2015-11-19T02:09:51.413+0000"), } […]