Articles of mongodb

发送请求永远不会发生,只是发送得到

我正在使用Mongoose和nodejs来编写一个API。 我的users.js看起来如下: var express = require('express'); var router = express.Router(); var user = require('../models/users.js'); router.post('/',function(req, res, next) { console.log("made a post"); var user2 = new user(); // create a new instance of the Bear model user2.firstName = req.body.firstName; // set the bears name (comes from the request) user2.lastName=req.body.lastName; user2.email=req.body.email; user2.save(function(err) { if (err) res.send(err); console.log("User […]

如何通过mongoose中的模式属性进行过滤

我有一个group对象,它包含一个members属性。 members属性是一个对象数组。 该对象具有以下属性。 {"id" : "1", "status" : 1} 我的要求是获得给定group对象的状态为1的用户列表(通过给定的ID)。 这是可能做到的,用一个简单的ID查询和一个foreach 。 但是想知道,是否有任何提前查询来做到这一点。 我的整体组对象如下。 var UserSchema = new Schema({ user_id:{ type : Schema.ObjectId, ref : 'User', default : null }, status:{ type : Number, default : null /* 1 – pending | 2 – rejected | 3 – accepted*/ }, }); var GroupSchema = new […]

$ pullAll在mongoosedoens't工作

我有这个mongoose模式: // ——- creating active_rooms model ——- var active_rooms_schema = mongoose.Schema({ room_name: String, users: [String] }); var active_rooms = mongoose.model('active_rooms', active_rooms_schema); 数据库看起来像这样: [{"_id":"586b8eeeebb48c65bcbbc5f3","room_name":"my_roome","__v":0,"users":["sam","sally"]}] 相当直接。 我有一个聊天室和人(到该房间的用户arrays)。 一旦他/她离开房间,我想删除某个人。 因此,我写了这个代码在我的服务器上: remove_user_from_room: function (user_name, room_name) { console.log("remove_user_from_room: " + room_name + ", user: " + user_name); active_rooms.update( {'room_name': room_name }, { $pullAll: {'users': [user_name] } } ) }, 但是,此代码不会从arrays中删除用户。 […]

Mongoose / MongoDB:$ in和.sort()

我每天打一个跟随50个成员数据的API,并使用mongoose把JSON转换成集合中的单个文档。 在几天之间有数据是一致的,例如每个成员的标签(游戏中成员的id),但是有不同的数据(不同的分数等)。 每个文档都有一个createdAt属性。 我想为每个成员find最近的文档,从而有一个数组与每个成员的标记。 我正在使用下面的查询来查找标签匹配的所有文档,但是他们正在返回所有文档,而不仅仅是一个。 如何将文档sorting/限制到最新的文档,同时保留一个查询(或者是否有更多的“mongodb方式”)? memberTags = [1,2,3,4,5]; ClanMember.find({ 'tag': { $in: memberTags } }).lean().exec(function(err, members) { res.json(members); }); 谢谢

如何连接本地networking内的另一台机器mongodb数据库?

我按照这个mongoose文件在这里input链接描述 mongoose.connect('mongodb://localhost/waterDB'); 使用这个,我可以连接本地机器的waterDB mongoDB数据库 我的个人电脑本地IP: 192.168.1.5 我的服务器本地IP: 192.168.1.100 这两台机器都有waterDB数据库。 这两个数据库都没有用户名和密码 我想连接服务器机器waterDB Inside My Personal Machine。 根据这个: mongoose.connect('mongodb://username:password@host:port/database?options…'); 我试试: mongoose.connect('mongodb://192.168.1.100:27017/waterDB'); 但, MongoError: failed to connect to server [192.168.1.100:27017] on first connect at null.<anonymous> (/home/water/node_modules/mongodb-core/lib/topologies/server.js:313:35) at emitOne (events.js:77:13) at emit (events.js:169:7) ………. 任何解决scheme的错误? 谢谢 (@_@)

Mongo DB +与最后一个字段的数据

我有collections中的示例json数据。 样本数据: [{ "_id" : 1, "username" : "abcd", "createdDate" : ISODate("2016-06-03T08:52:32.434Z") }, { "_id" : 2, "username" : "abcd", "createdDate" : ISODate("2016-05-03T09:52:32.434Z") }, { "_id" : 3, "username" : "abcd", "createdDate" : ISODate("2016-04-03T10:52:32.434Z") }, { "_id" : 4, "username" : "xyz", "createdDate" : ISODate("2016-03-03T10:52:32.434Z") },{ "_id" : 5, "username" : "xyz", "createdDate" : ISODate("2016-02-03T10:52:32.434Z") […]

Node.js通过REST API发送图像

我努力寻找材料 我有一个使用mongoDB编写的用node.js编写的API。 我希望用户能够上传图片(个人资料图片),并保存在服务器上(在mongoDB)。 有几个问题,我见过build议使用GridFS,这是最好的解决scheme吗? 我如何发送这些文件? 我见过res.sendFile,但这又是最好的解决scheme吗? 如果有人有任何材料,他们可以链接我,我会感激 谢谢

删除使用mongoose返回错误的子文档?

我想删除我的collections的所有子文件。 mongoose模式: //productSchema var pdtSchema = new Schema({ "productId" : {type : String}, "product" : {type : String}, "item no" : {type : String}, }); var shopSchema = new Schema({ "providerId" : {type : String}, "provider" : {type : String}, "products" : [pdtSchema] },{collection:"shopdetails"}); module.exports.Shops = mongoose.model('Shops',shopSchema); module.exports.Products = mongoose.model('Products',pdtSchema); 我已经将大量数据存储在集合中,并且需要删除所有产品(即整个pdtSchema数据)。 码: router.post('/delete',function (req,res) { […]

在社交networking上存储文件的最佳方式

我使用Mongo database , PHP , Nodes.js和保存文件有问题。 因为:文件大小可能超过1PB(1000 TB)。 在我看来有两种方法可以做到这一点: 将文件保存在服务器上(jpg,mp3,mp4,…) 保存Mongo数据库上的文件(位,…) 女巫更好? 如果您有其他解决scheme,请让我知道这一点。

Node.JScallback函数没有被执行

settopending(f,fb)是第一个调用的函数,我不确定是否没有正确写callback函数,因为applytransaction(t,f,fb)永远不会被调用。 打印“第一”和“第二”,但不打印“第三”和“第四”。 我是否错误地设置了应该调用applytransaction(t,f,fb)的callback,还是有其他问题呢? function update(document,f,fb) { this.transactions.update( { _id: document._id, state: "initial" }, { $set: {state: "pending"}, $currentDate: {lastModified: true} } ); console.log("Second") } function settopending(f,fb) { console.log("First"); var t = this.transactions.findOne( { state: "initial" } , function(err, document) {//CALLBACK update(document,f,fb , function(err, document) {//CALLBACK console.log("Third"); applytransaction(document,f,fb); }); }); } function applytransaction(t,f,fb) { console.log("Fourth"); x=fb(t.value); […]