我想添加一个新的OldFlatFile,以OldFlatFileList该作品,但没有增加新的一个.我看不到错误,我不知道下面的代码是否有问题?
OldFlatFileList count与添加之前和之后相同:
var selectedPackage = FlatFileHelper.GetSelectedPackage(OldFlatFileList);
var primaryFeature = new PrimaryFeatures(){ DataTypeCode = "abc" };
OldFlatFileList.ToList().Add(
new OldFlatFile
{
new OldFlatFileEntry
{
InformationFields = selectedPackage.InformationFields,
PrimaryFeatures = primaryFeature,
SecondaryFeatures = null
}
});
Run Code Online (Sandbox Code Playgroud)
private IEnumerable<OldFlatFile> OldFlatFileList
{
get { return Session[SystemConstant.OldFlatFileListKey] as List<OldFlatFile>; }
set { Session[SystemConstant.OldFlatFileListKey] = value; }
}
Run Code Online (Sandbox Code Playgroud)
public class OldFlatFile : List<OldFlatFileEntry>
{}
Run Code Online (Sandbox Code Playgroud) 我想在一个字节中打包最大长度为8的bool数组,通过网络发送,然后将其解压缩回bool数组.在这里试过一些解决方案,但它没有用.我正在使用Mono.
我制作了BitArray,然后尝试将其转换为字节
public static byte[] BitArrayToByteArray(BitArray bits)
{
byte[] ret = new byte[Math.Max(1, bits.Length / 8)];
bits.CopyTo(ret, 0);
return ret;
}
Run Code Online (Sandbox Code Playgroud)
但我得到的错误告诉只有int和long类型可以使用.尝试int而不是字节但同样的问题.我想避免BitArray并尽可能使用从bool数组到byte的简单转换
我有以下架构:
var PostModel = mongoose.model('PostModel', {
text : {type : String, default: ''},
created_at : Date
});
Run Code Online (Sandbox Code Playgroud)
text字段可能很长(大约1000个字符).当我在帖子列表页面上查询帖子时,我需要查询所有包含剪切text字段的帖子,仅限150个字符.
这是最好的方法吗?是否可以通过使用猫鼬本身进行切割,还是应该在使用后检索文本PostModel.find() in success callback?
我有这个模式与字段"created_at"的日期:
var post = new mongoose.Schema({
text : String,
created_at : {type : Date, index : true},
pos : {latitude: Number, longitude: Number},
created_by : {type : Schema.Types.ObjectId, ref : "UserSchema"}
});
Run Code Online (Sandbox Code Playgroud)
有了这个:
Post.pre("save", function (next){
var currentDate = new Date();
if(!this.created_at)
{
this.created_at = currentDate;
}
next();
});
Run Code Online (Sandbox Code Playgroud)
现在我只想在24小时内创建帖子,我该如何查询?
我无法使用聚合选项参数获得结果.这是我的汇总: -
var emails = getAllEmails();
var listMatchColl = 'list_matches_' + insertedId;
SurveyDL.aggregate([
{ $match: { email: { $in: emails } } },
{ $out: listMatchColl }
], {
allowDiskUse: true
}).exec(function(err, data) {
if (err) return console.log('err', err);
console.log('data',data);
});
}
Run Code Online (Sandbox Code Playgroud)
当我执行上面的代码时,它抛出并出现错误,即
错误:参数必须是Aggregate.append(/home/vivek/nrich/node_modules/mongoose/lib/aggregate.js:89:11)聚合管道运营商的新聚合(/ home/vivek/nrich/node_modules/mongoose/lib) /aggregate.js:48:17)
我也使用替代方法,但它仍然抛出相同的错误.替代方式: -
var emails = getAllEmails();
var listMatchColl = 'list_matches_' + insertedId;
SurveyDL.aggregate([
{ $match: { email: { $in: emails } } },
{ $out: listMatchColl }
], {
allowDiskUse: true
},function(err, data) { …Run Code Online (Sandbox Code Playgroud) mongoose mongodb node.js mongodb-query aggregation-framework
我想使用我的数组字段第0个值来使用Mongo aggregate $ lookup查询在销售文档中查找匹配项.这是我的查询:
db.products.aggregate([
{
$match : { _id:ObjectId("57c6957fb190ecc02e8b456b") }
},
{
$lookup : {
from : 'sale',
localField: 'categories.0',
foreignField: 'saleCategoryId',
as : 'pcSales'
}
}]);
Run Code Online (Sandbox Code Playgroud)
结果:
{
"_id" : ObjectId("57c6957fb190ecc02e8b456b"),
"categories" : [
"57c54f0db190ec430d8b4571"
],
"pcSales" : [
{
"_id" : ObjectId("57c7df5f30fb6eacb3810d1b"),
"Title" : "Latest Arrivals",
}
]}
Run Code Online (Sandbox Code Playgroud)
此查询将返回一个匹配,但当我检查它不匹配.我不知道为什么会发生这种情况,当我从查询中删除第0部分时它返回空白数组.像这样:
{
"_id" : ObjectId("57c6957fb190ecc02e8b456b"),
"categories" : [
"57c54f0db190ec430d8b4571"
],
"pcSales" : []
}
Run Code Online (Sandbox Code Playgroud)
saleCategoryId也是一个包含categoriesKey数组的数组字段.
请帮忙.
mongodb mongodb-query aggregation-framework mongodb-aggregation
我希望在 MongoDB 聚合中找到的平均值得出一个综合值
[
{
"_id": "581c3d9c55421c16ecaf0b26",
"uDept": "CoE Design & Research",
"uName": "Saurabh Raman",
"rateVal": 3,
"timeStamp": "11/4/2016 13:17",
"__v": 0
},
{
"_id": "581c437ea3d9f6087ce3b21e",
"uDept": "CoE Design & Research",
"uName": "Sachin P Singh",
"rateVal": 4,
"timeStamp": "11/4/2016 13:42",
"__v": 0
},
{
"_id": "581c6d74a3d9f6087ce3b21f",
"uDept": "Training",
"uName": "Rahul Shakya",
"rateVal": 4,
"timeStamp": "11/4/2016 16:35",
"__v": 0
}
]
Run Code Online (Sandbox Code Playgroud)
我运行以获取“rateVal”平均值的查询
db.calcR.aggregate([
{
$group: {
_id: null,
avg: {$avg: '$rateVal'},
}
}
Run Code Online (Sandbox Code Playgroud)
输出是{ avg: 3.6666 }但理想情况下我希望它显示为 4
[ …Run Code Online (Sandbox Code Playgroud) 如何$in在mongoDB中与聚合一起编写查询?我想为下面的SQL写一个等效的mongoDB查询
SELECT name,count(something) from collection1
where name in (<<list of Array>>) and cond1 = 'false'
group by name
Run Code Online (Sandbox Code Playgroud) 这是我的数据:
[
{
id: 1,
starttime: ISODate("2015-08-24T00:00:00.000Z"),
endtime: ISODate("2015-08-24T07:00:00.000Z")
},
{
id: 2,
starttime: ISODate("2015-08-24T20:00:00.000Z"),
endtime: ISODate("2015-08-25T01:00:00.000Z")
}
]
Run Code Online (Sandbox Code Playgroud)
我可以创建一个mongodb查询来显示starttime和endtime的持续时间(或者在这种情况下是差异操作),结果如下:
[ {id:1, duration: 7}, {id: 2, duration: 5}]
Run Code Online (Sandbox Code Playgroud)
请注意,时间戳可以具有不同的日期,因此$hour(聚合管道)可能不起作用.有人可以帮忙吗?谢谢
MongoDB集合中的文档具有以下模式(仅显示相关字段):
{
"TTLinSeconds" : 1800,
"lastUpdatedTimestamp" : ISODate("...")
}
Run Code Online (Sandbox Code Playgroud)
我需要删除current timestamp大于lastUpdatedTimestamp加上TTLinSeconds字段中存储的值的所有文档.提前感谢您的建议.