Tag: mongodb

使用FindOne按date范围查询MongoDb(通过Nodejs本地驱动程序)

我想在我的FindOne语句中使用date范围来查询MongoDb,但是我无法使它工作。 我正在使用Nodejs本地驱动程序。 我已经尝试了各种select,但没有什么是返回预期的logging。 这是我的伪代码 – console.log(sDate); // displays Fri Jun 20 2014 10:00:00 GMT+1000 (AUS Eastern Standard Time) var sDateISO = sDate.toISOString(); console.log(sDateISO); // displays 2014-06-20T00:00:00.000Z // all of these return null object db.collection('events').findOne( { eventStartDate: { $lte: new Date(sDate)}}, function(err, obj) { console.dir(obj); } // displays null ); db.collection('events').findOne( { eventStartDate: { $lte: (sDate) […]

Mongodb是否有插件来查询多个集合,如“join”?

Mongodb不支持多集合查询,如SQL中的“左连接”。 它只支持“填充”,但不能同时填充子文档和查找父文档。 SQL中的一行查询代码,而mongodb用户必须自己查询每个父文档_id。 我遇到了这样的问题: 如何填充其他集合的子文档在mongoose? https://stackoverflow.com/questions/24075910/mongoose-cant-update-or-insert-subdocuments-array 我终于在forEach循环中自己查询每个_id。 有没有插件来查询多个集合,如“join”? 或者有没有更好的解决scheme,以多个收集查询?

使用MongoDB Aggregation计算多个平均值

我一直负责在一天,一周,一个月和一年中为MongoDB中相当大的一组文档生成平均值。 所有的工作都有一个created领域,我需要基于outputs数组的平均值… 这是一个文件的样子: { __v: 0, _id: ObjectId("535837911393fd0200d8e1eb"), created: ISODate("2014-04-23T21:58:41.446Z"), output: [ { ref: { img: false }, type: "image/png", methods: [ { options: { height: 200, width: 200 }, method: "resize" } ] }, { ref: { img: false }, type: "image/png", methods: [ { options: { height: 400, width: 400 }, method: "resize" […]

填充()引用嵌套在对象数组中

我试图用Show模型中的数据填充()我的用户模型中的所有订阅。 我试过.populate('subscriptions.show'),但是对结果没有任何作用。 如果我订阅像这样的一个普通的Refs数组 subscriptions: [{type: Schema.Types.ObjectId, ref: 'Show'}] 做一个填充('订阅')按预期工作 我已经看过在Stackoverflow上可以find的每个类似的问题,以及我可以在文档中find的东西。 我看不出我做错了什么。 完整的testing文件源,我正在与https://gist.github.com/anonymous/b7b6d6752aabdd1f9b59 架构和模型 var userSchema = new Schema({ email: String, displayName: String, subscriptions: [{ show: {type: Schema.Types.ObjectId, ref: 'Show'}, favorite: {type: Boolean, default: false} }] }); var showSchema = new Schema({ title: String, overview: String, subscribers: [{type: Schema.Types.ObjectId, ref: 'User'}], episodes: [{ title: String, firstAired: […]

Mongoose中的Mongoose身份validation数据库2.6

除了系统pipe理员 ,我还有数据库A , B , C 我想添加一个已经读写访问A , B , C的用户 。 // attempt 1 use admin db.createUser({ user: "Bob", pwd: "1234", roles: [ { role: "readWriteAnyDatabase", db: "admin" } ] }) 。 // attempt 2 use admin db.createUser({ user: "Bob", pwd: "1234", roles: [ { role: "readWrite", db: "A" }, { role: "readWrite", db: […]

MongoDB / Mongoose聚合或$或不按预期工作?

在html中有一些checkboxbutton,我想通过API on.click过滤AJAX结果。 有3种结果:upVote,noVote,downVoted。 根据哪个checkbox被选中,用户将看到upVote,noVote和downVoted文档的组合。 ajax调用API的URL,并且在通过node.js API中的以下循环运行之后,数据到达数据库调用,该循环通过string数组循环[“upVoted”,“noVote”,“downVoted” ](或其任何组合)并将true的布尔值赋给相应的variables: var upVoted = false; var noVote = false; var downVoted = false; storyFiltering.forEach(storyFiltering); function storyFiltering(element, index, array) { if (element == 'upVoted') {upVoted = true} else if (element == 'noVote') {noVote = true} else if (element == 'downVoted') {downVoted = true} } console.log('upVoted: ' + upVoted + ', […]

Ember.js primaryKey:'_id'?

有一个明显的可能是我放弃了这个。 当然,这并不能帮助我尝试几乎同时学习所有这些技术。 我使用Node.js / Express / Mongoose / MongoDB构build了一个API,它可以工作。 我试图在Ember.js应用程序中使用这个REST端点。 Ember应用程序与夹具一起工作,所以客户端正在工作。 问题是REST端点正在发射对象id为_id ,Ember期望并需要id 。 是的,我已经search了一个相关的问题 ,并尝试了解决scheme: WbsEmber.ApplicationAdapter = DS.RESTAdapter.extend({ serializer: DS.RESTSerializer.extend({ primaryKey: function(type){ return '_id'; } }), host: 'http://localhost:8080', namespace: 'api' }); 阅读RESTAdapter的Ember.DS api文档 ,看来这应该工作: WbsEmber.ApplicationSerializer = DS.RESTSerializer.extend({ primaryKey: '_id' }); WbsEmber.ApplicationAdapter = DS.RESTAdapter.extend({ host: 'http://localhost:8080', namespace: 'api' }); 但是,两者都继续在控制台中扔这个错误堆栈。 Error while loading route: Error: […]

如何重新注册(或删除)现有的Mongoose模式/模型?

复杂的问题,我怀疑很多人不得不遇到…但我试图pipe理模式dynamic后运行,如更新/replace模式已被加载。 基本上是一个应用程序,可以让你创build,注册,然后更新架构(然后填充)。 当然,试图重新定义已经注册的模式会导致这个错误: OverwriteModelError: Cannot overwrite [myModelName] model once compiled. 一旦它被创build,有什么办法可以销毁一个mongoose模型/模式? 我检查了API文档并找不到解答。 在飞行中创build新的模式就像一个冠军 – 但更新他们扔我的砖墙。 宁可不叉叉mongoose添加这个function,如果我可以根本帮助它:) 谢谢你的帮助!

如何更新数组中的对象内的数组?

我目前正在使用Node.js MongoDB驱动程序,并面临如下结构: users (database) users (collection) { name: bob, data: [ { name: mydata, relations: [ ** I want to addToSet here! ** ] }, { name: mydata2, relations: [] } ] }, { name: jeff, data: […same stuff…] } 所以,我有一个数组,这是在一个对象内,是在一个数组中,我的目标是添加一个条目。 我意识到这看起来像MongoDB不太适合的关系,但我试图容纳一些可能上传的关系数据。 有没有人碰巧知道一个方法来做到这一点? 不一定在一个查询中,只是以任何方式。

带有句点的MongoDB文本search

我在MongoDB中有全文searchfunction的问题。 可以说我有这个: db.test.insert({fname:"blah.dll"}) db.test.insert({fname:"something.dll"}) db.test.ensureIndex({fname:"text"}) 那我呢… db.test.runCommand("text", { search: "blah.dll" }) 这将返回这两个文件。 看来,这段时间似乎是造成它是:无论或DLL。 在这种情况下search的正确方法是什么? 谢谢。