我有一个包含 100 万个文档的集合......我已经通过了选项allowDiskUse,现在它抛出错误
TypeError: callback.apply is not a function
我已经搜索过这个,但可以得到解决方案...请帮忙
const pictures = await Picture.aggregate([
{ $sort: { createdAt: -1 }},
{ $group: {
_id: { $dateToString: { format: "%Y-%m-%d", date: "$createdAt" } },
pictures: {
$push: {
_id: '$_id',
image: '$image',
time: { $dateToString: { format: "%H:%M:%S", date: "$createdAt" } }
}
}
}},
{ $limit: 50 },
{ $project: {
_id: false,
createdAt: '$_id',
pictures: '$pictures'
}}
], { allowDiskUse: true })
Run Code Online (Sandbox Code Playgroud)
Mongodb 版本 - 3.6 …
mongoose mongodb node.js mongodb-query aggregation-framework
我有以下模型的集合:
const VisitSchema = new mongoose.Schema({
priority: { type: Number, min: 1, max: 3, required: true },
datetime: { type: Date, required: true },
// some other information
});
Run Code Online (Sandbox Code Playgroud)
我正在尝试对所有文档进行排序,以使较接近当前日期的访问在较晚的日期之前显示,但是在一天之内,必须首先显示优先级较高的那些。
例如:考虑
A (17-08-2018 14:00:00, P3)
B (17-08-2018 15:00:00, P2)
C (18-08-2018 15:00:00, P1)
这个排序时,所期望的反应应该是[B, A, C],因为上一天17-08-2018,B在具有较高的优先级A,即使A是更早,即使C在两个具有更高的优先级A和B,它是在以后的日子。
我正在寻找一种首先进行排序的方法datetime,但仅考虑日期部分并忽略时间,然后再进行排序priority。我目前的尝试datetime完全考虑了问题,给我错误的排序方式:
Visit.find().sort('datetime priority')
Run Code Online (Sandbox Code Playgroud)
编辑:我知道我可以使用来做Array.sort()。问题是直接从进行操作mongoose,而不是检索数据然后才进行排序。
MongoDB 数据库版本 3.4.18。
我想合并来自外部集合的数据,但我不想拥有所有键,我想做出限制,如下所示:
db.users.find({}, {password:0}, (err, docs) => {});
Run Code Online (Sandbox Code Playgroud)
这是我的聚合查询:
let query = [
{
// match from first collection (activities)
$match: {
"_id": ObjectId("5be46f266e4a182384b3ae6a")
}
},
{
// limit fields from first collection (activities)
$project: {
"_user": 1,
date: 1
}
},
{
// join a foreign collection - but how to avoice the password key? for example.
$lookup: {
from: "users",
localField: "_user",
foreignField: "_id",
as: "user"
}
}
];
db.activities.aggregate(query, (err, docs) => {
console.log(docs[0].user);
return …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的对象
{
"_id" : {
"import_type" : "MANUAL_UPLOAD",
"supplier" : "jabino.de",
"unit_price" : "0"
},
"statuses" : [
{
"status" : "DUPLICATED",
"count" : 14
},
{
"status" : "BLACKLISTED",
"count" : 2
},
{
"status" : "USABLE",
"count" : 2239
},
{
"status" : "INVALID_EMAIL_ADDRESS",
"count" : 1
},
{
"status" : "DUPLICATED",
"count" : 14
},
{
"status" : "BLACKLISTED",
"count" : 2
},
{
"status" : "USABLE",
"count" : 2239
},
{
"status" : "INVALID_EMAIL_ADDRESS",
"count" : …Run Code Online (Sandbox Code Playgroud) date我有一个包含如下文档的集合,我想根据它们在数组中包含的最高值对文档进行排序status:
[{
"_id": "1",
"name": "Tea",
"status": [
{
"state": "a",
"date": "2019-08-22"
},
{
"state": "b",
"date": "2019-07-12"
},
],
"_id": "2",
"name": "Coffee",
"status": [
{
"state": "c",
"date": "2019-05-01"
},
{
"state": "b",
"date": "2019-12-31"
}
]
}]
Run Code Online (Sandbox Code Playgroud)
因此,在示例中,用于排序的值应类似于:
2019-08-22 (状态:a)2019-12-31 (状态:b)有任何想法吗?
什么是存储,调度,有效负载,类型,动作,连接,thunk,reducer in react redux ??
import { createStore, applyMiddleware } from 'redux'
import thunk from 'redux-thunk'
const createStoreWithMiddleware = applyMiddleware(thunk)(createStore)
const store = createStoreWithMiddleware(reducer)
ReactDOM.render(
<MuiThemeProvider muiTheme={muiTheme}>
<Provider store={store}>
<Router history={ browserHistory }>
<Route path="/" component={ Content }/>
<Route path="/filter" component={ Filter }/>
<Route path="/details" component={ Details }/>
</Router>
</Provider>
</MuiThemeProvider>,
document.getElementById('root')
)
Run Code Online (Sandbox Code Playgroud)