Tag: mongoose

将数组添加到MongoDB / Mongoose集合时出错

我想添加一个数组到一个Mongo文档,并且我得到了错误"Cast to Array failed for value "[object Object],[object Object]" at path "vendors"" 这是我的模型: module.exports = { attributes: { vendors: { type: [String] }, description: { type: String } } }; 这是我的代码来创build: var vendors = ko.observableArray(['foo','bar']); var desc = ko.observable('yadda yadda yadda'); var dto = { data: { vendors: vendors(), description: description() } }; DataService.quoteRequest.create(dto);

更新父子数据nodejs mongodb

我是在与nodejs.mongodb新我想更新评论data.Here是我的文档 { "__v": NumberInt(0), "_id": ObjectId("565443b1172e19d51f98b0ed"), "address": "tohana", "comments": [ { "_id": ObjectId("5654455fe088d89c20736e3c"), "comment": "good man", "uemail": "dinesh@gmail.com", "uname": "dinesh" }, { "_id": ObjectId("565445e471dce6ca20705a84"), "comment": "nice person", "uemail": "kr@gmail.com", "uname": "krishan" }, { "_id": ObjectId("5654460e7aa73bec2064060e"), "comment": "bad person", "uemail": "Rai", "uname": "Rahul" } ], "email": "nishantg@ocodewire.com"▼, "name": "Nishant" } 我在前端和nodeJs中使用Angular js作为后端。 这是我的代码: app.post('/commentsSave/:id', function(req, res) […]

Mongoose:将.project(聚合)与.find()。limit()。sort()等相关联

我有一个mongoose模式看起来像这样: var AnswerSchema = new Schema({ author: {type: Schema.Types.ObjectId, ref: 'User'}, likes: [{type: Schema.Types.ObjectId, ref: 'User'}], date: {type: Date, default: Date.now}, text: String, …. }); 截至目前,我通过这样做来查询这个集合: Answer.find({ author: profileId, date: {$lt: fromDate} }).sort({date: -1}) .limit(25) .populate('question.sender', 'username username_display name') .exec(function (err, answers) { *code here* }); 但是,我需要在这个查询中添加一个计算字段,以便知道访问者是否已经喜欢作者的答案(请参阅此问题 ),这要归功于聚合pipe道。 它看起来像这样: Answer.aggregate() .project({ "author": 1, "matched": { […]

date总是用mongo开始

我有一个在mongoose中定义的数据模型: var timeTicketSchema = mongoose.Schema({ relatedObjectId : mongoose.Schema.ObjectId, startTime : Date, endTime : Date, claimed: { type: Boolean, default : false }, claimedOn : Date, locked : { type : Boolean, default : false }, lockedOn : Date, bookingId : mongoose.Schema.ObjectId, pricePerHour : Number }); 而当创build我以下面的格式发布,date从UTC开始毫秒: { "relatedObjectId": "561ee6bbe4b0f25b4aead5c8", "startTime" : "1448550000000", "endTime" : "1448551800000" […]

我怎样才能得到由特定的许可证ID在填充对象中创build的logging?

我有两个名为User和Question模型。 User模型具有license属性, Question模型具有created_by属性。 Question的created_by属性是对User模型的引用。 我怎样才能得到由license ID特定用户created_by问题? 我试试这个: QuestionResource .find({'created_by.license':req.query.license}) .exec(function (err, result) { if (err) res.json(err) else res.json(result) }) 但似乎没有工作。

填充mongoose.js后查询数组

我试图在填充相应的对象之后查询引用数组。 我有一种感觉,我要么没有使用正确的操作$ …或者我的方法不是正确的方式去做我需要做的事情。 我举一个例子来澄清我正在尝试做什么。 假设我有一个用户的集合,可以有多个与他们相关的预订文档。 我需要find所有住在某个位置的用户,并且至less有一个预订的开始date是在今天之前。 模型是沿着的: var Booking = new mongoose.Schema({ starts_at: { type: Date }, ends_at: { type: Date }, //… }); var User = new mongoose.Schema({ name: String, location: String, bookings: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Booking' }], //… }); 我正在尝试的代码/查询是沿着的: User.find({ 'location': 'some place' }) .populate('bookings') .where({ 'bookings.starts_at': { $lte: new Date() […]

如何在mongoose中使用更多的$ group

[ { "_id":"56569bff5fa4f203c503c792", "Status":{ "StatusID":2, "StatusObjID":"56559aad5fa4f21ca8492277", "StatusValue":"Closed" }, "OwnerPractice":{ "PracticeObjID":"56559aad5fa4f21ca8492291", "PracticeValue":"CCC", "PracticeID":3 }, "Name":"AA" }, { "_id":"56569bff5fa4f203c503c792", "Status":{ "StatusID":2, "StatusObjID":"56559aad5fa4f21ca8492277", "StatusValue":"Open" }, "OwnerPractice":{ "PracticeObjID":"56559aad5fa4f21ca8492292", "PracticeValue":"K12", "PracticeID":2 }, "Name":"BB" } ] 在上面的json响应中, 如何将PracticeValue,StatusValue分组为单个函数, 以下代码仅用于组态StatusValue,请帮助如何将相同function的实践值进行分组, Opp.aggregate([ {$group: { _id: '$Status.StatusValue', count: {$sum: 1} }} ], function (err, result) { res.send(result); }); 我的回答是, [ { "_id":"Deleted", "count":0 }, […]

如何偏移Mongoosesorting查询以在特定文档之后启动

我目前有以下查询返回给定status最近更新的postcount 。 var query = Post.find() .where('status').equals(status) .sort('-updated') .limit(count); 如果status是“批准”, count是3,那么我的结果是这样的: [ { "id": "test1", "updated": "2015-11-30T16:51:54.988Z", "status": "approved", }, { "id": "test2", "updated": "2015-11-30T16:51:52.125Z", "status": "approved", }, { "id": "test3", "updated": "2015-11-30T16:51:50.469Z", "status": "approved", } ] 我需要能够指定一个id来抵消我的结果。 例如,如果status为“批准”,则count为2,偏移ID为“test1”,结果应为: [ { "id": "test2", "updated": "2015-11-30T16:51:52.125Z", "status": "approved", }, { "id": "test3", "updated": "2015-11-30T16:51:50.469Z", "status": "approved", […]

节点在简单循环中耗尽内存

试图做一些地理空间性能压力testing。 我有以下代码(我不能–expose-gc grunt 问题,所以我不能调用global.gc())。 var getRandomRange = function(start, end){ return parseFloat((Math.random() * (start – end) + end).toFixed(4)); } /* Max and min long and lat. Latitude : max/min +90 to -90 Longitude : max/min +180 to -180 */ var createRandomSeeds = function(index) { var createSeedsTestPropertyData = []; for(var i = 0; i < 1000; i++) […]

不能通过npm安装mongoose – 依赖失败es6-promise 3.0.2

我目前正在尝试使用教程build立一个MEAN堆栈,但是我得到了一些依赖性问题,因为我是nodejs和mondodb中的一个newby,所以我不能修复它。 我正在使用这个教程: https : //thinkster.io/mean-stack-tutorial build立: Windows 7 x64 MongoDB 2.6.11 (The tutorial require 2.6.7, so I didn't install the v3) node -v: v0.12.5 npm -v: 2.11.2 问题:当我尝试运行 npm install –save mongoose 我有这个错误: npm ERR! version not found: es6-promise@3.0.2 如果我跑 npm install es6-promise 它在我的package.json中设置了v2.3.0,并且mongoos仍然没有安装 "es6-promise": "^2.3.0", 如果我尝试在^ 3.0.0强制执行,并运行npm install "es6-promise": "^3.0.0", 它说: npm ERR! notarget […]