Tag: mongodb query

如何从sails.js中的多个集合中获取logging

我在sails.js新手,我正在尝试创buildcrud和login使用风帆JS。 我想从多个集合中获取login用户的logging,如用户个人资料详细信息和login用户完成的任务。 我不知道如何从多个集合,如用户,仪表板(包括login后由用户所做的所有post)查询。 如果有人有想法,请与我分享或指导我如何做这个任务。 这是我的Dashboardcontroller require('../models/Dashboard.js'); var User = require('../models/User.js'); module.exports = { //View all record posted by login user from dashboard collection index: function(req, res ){ //console.log(req.session.passport.user); var userId = req.session.passport.user; // here i want to get data from user collection and want to send to the view Dashboard.find({posted_by: {$in: [userId]}}).exec(function(err, result){ if(err){ sails.log("—-Error—-"+err); […]

在nodejs mongodb驱动程序中查找findAndModify查询

我无法只从findAndModify查询项目只需要项目,它是返回整个文档。 var MongoClient = require('mongodb').MongoClient; db.collection("conf").findAndModify( searchDoc, sortDoc, {$set: updateDoc}, {new: true}, {"required_field": 1}, function (error, obj) { console.log(obj["value"]); db.close(); });

查找具有特定字段的mongodb中的所有集合

目前正在处理的数据库中有40多个集合。 所有collections品的主要关键之一是“账户”。 我需要知道哪里有一个名为“帐户”的字段的所有这样的集合。 有没有一个查询获得或打印所有这样的集合的JS脚本? 在Oracle中,我正在使用: SELECT * FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME LIKE 'account'; 任何input都有帮助。 提前致谢。

mongoose在给定的查询列表中查找全部

如何find与Mongoose中查询列表相匹配的所有文档? 例如,模型Person看起来像: { name, lastname, … } 如果我需要findJohn Doe,Alice Lorem,Bob Ipsum这样的特定人员,可以通过一个find()命令find它吗? 就像是 Person.find([{name: "John", lastname: "Doe"}, {name: "Alice", lastname: "Lorem"}, {name: "Bob", lastname: "Ipsum"}]); 帮帮我!

尝试将新数据传递给一个对象,而不使用expressreplacemongoDB中的旧数据

我正在尝试将新数据传递给对象,而不使用nodejsreplace旧数据。 下面是我的Mongodb数据库(添加新数据之前)的结构 { "_id" : ObjectId("58fd05f7fb69f42d54fccd12"), "Transaction" : { "QRIDNumber6666" : { "retailer" : "watson", "discount" : "10%", "tax" : "5%", "Transaction Detail" : [ { "quantity" : "1", "pname" : "coca", "price" : "3" }, { "quantity" : "3", "pname" : "pepsi", "price" : "5" } ] } } } 我想要实现的是添加另一个QRIDNumber在交易,例如:QRIDNumber 7777,具有不同的值,但相同的结构相比,QRIDNumber6666 我目前的尝试是通过在nodejs上使用以下代码 app.put('/contactlist/', […]

Mongo查找查询需要2分钟

我收集了大约75,000个文件。 数据库的总大小约为45GB。 在75k文档中,大约45k是每个900KB(大约42GB),其余的文档大约是120KB。 每个文档都映射到其他集合中的custId ObjectId,并且具有一个索引的timestamp 。 现在我需要为上个月的特定客户获取文档。 这个数字大约是5500个文档。 这个custId有大小约120 KB的小文档。 以下是我的查询: db.mycollection.find( { custId:ObjectId("CUST_OBJECT_ID_HERE"), timestamp:{$gte:one_month_ago_date, $lt:current_date} }).sort({timestamp:-1}) 仍然查询需要2分钟来获取所有logging。 是因为文件的数量还是文件的大小? 有没有办法解决这个问题? 注意:从nodejs发起查询需要2分钟。 如果我在mongo shell上启动它,它会很快返回,但可能是因为它刚刚取得了前50条logging。 当我将.count()附加到mongo shell上的查询时,需要2分钟才能返回count。 更新: 索引细节: "wiredTiger" : { "nindexes" : 3, "totalIndexSize" : 2396160, "indexSizes" : { "_id_" : 1138688, "custId_1" : 598016, "timestamp_1" : 659456 } } 说明输出:(有点) { "queryPlanner" : { […]

MongoDB Like Query(开始字母或单词查找查询)

我有一个MongoDB查询如下所述: Mailbox.find({ subject: new RegExp(query , 'i') }); 这个查询为我提供了包含查询的所有结果。例如,我的查询是test,然后输出显示包含'test'的所有结果。 如果我想要只有起始字母“t”或“testing”的结果,怎么办?

mongooseselect与填充不工作

我在mogoose查询,如果我添加查询select任何参数,填充参数丢失,例如我有以下模式: 部: var mongoose = require('mongoose'); var schema = mongoose.Schema({ name: {type:String,required: true,index: {unique: true}} , text: String }) module.exports=mongoose.model('Department',schema); 雇员: var mongoose = require('mongoose'); var ObjectId=mongoose.Schema.ObjectId; var schema = mongoose.Schema({ name: {type:String,required: true} , lastName: {type:String} , birthday:Date, email:{type:String,required: true,index: {unique: true}}, _department:{type:ObjectId,ref:'Department'}, isUser:Boolean },{ strict:false}); module.exports=mongoose.model('Employee',schema); 如果我做: var query=mongoose.model('Employee').find(); query.select('email').populate('_department','name'); query.exec(function(err,data){ console.log(data); }); […]

如何只有一个子文件的mongoose项目?

ASchema={item:[BSchema]}; ASchema.findOne({item._id=xx}) 它得到一个BSchema数组,document.item是一个数组。 如何获得只有一个_id是xx的项目?

在mongodb的聚合里面调用函数?

采集: [ { _id: "Foo", flag1: false, flag2: true, flag3: false }, { _id: "Bar", flag1: true, flag2: false, flag3: true } ] 我的问题是,是否有可能调用聚合查询内的方法? aggregate({ $project: { '_id': 1, 'status' MyService.getStatus($flag1, $flag2, $flag3) } }); 如果可能的话,它的语法是什么? 结果: [ { _id: "Foo", status: 'ok' }, { _id: "Bar", status: 'broken' } ] 在我的真实世界的应用程序,我有10个布尔标志每个文件。 如果用户得到这个文件,我想转换标志并赋予它们一个含义(对于用户)。 例如考虑一个文件代表一个轮胎。 flag1 […]