我已经浏览了mongoose API,以及关于SO和google组的许多问题,但仍无法弄清楚更新嵌入式文档.
我正在尝试使用args的内容更新此特定的userListings对象.
for (var i = 0; i < req.user.userListings.length; i++) {
if (req.user.userListings[i].listingId == req.params.listingId) {
User.update({
_id: req.user._id,
'userListings._id': req.user.userListings[i]._id
}, {
'userListings.isRead': args.isRead,
'userListings.isFavorite': args.isFavorite,
'userListings.isArchived': args.isArchived
}, function(err, user) {
res.send(user);
});
}
}
Run Code Online (Sandbox Code Playgroud)
以下是架构:
var userListingSchema = new mongoose.Schema({
listingId: ObjectId,
isRead: {
type: Boolean,
default: true
},
isFavorite: {
type: Boolean,
default: false
},
isArchived: {
type: Boolean,
default: false
}
});
var userSchema = new mongoose.Schema({
userListings: [userListingSchema]
});
Run Code Online (Sandbox Code Playgroud)
这个发现也行不通,这可能是第一个问题:
User.find({
'_id': …Run Code Online (Sandbox Code Playgroud) 我正在使用GitHub页面来托管我的博客.我在存储库中设置了CNAME记录,并将A记录和CNAME记录添加到我的域名注册商(123-reg).这工作正常,所以现在我的个人页面donskifarrell.github.com - > donalfarrell.com.
这也使我的所有项目页面都映射到同一个新域,例如.donskifarrell.github.com/calex - > donalfarrell.com/calex.
虽然这是非常好的,但事实证明这对我的一个项目来说很麻烦.
有没有办法修改我的设置,以便某些项目页面不使用我自己的自定义域,而是保留github网址?
谢谢
在React的官方Facebook文档中将类生命周期方法添加到类中,它提到:
5)如果从DOM中删除了Clock组件,React会调用componentWillUnmount()生命周期钩子,以便停止计时器.
只是想了解如何?我知道React知道什么时候将组件插入DOM,所以它可以调用componentDidMount生命周期钩子.
但componentWillUnmount它只是说," 曾经从去除DOM ".似乎表明它是真正的DOM而不是React DOM.也许可以用javaScript/jQuery删除组件,并且componentWillUnmount应该触发.
React究竟知道该组件已从真正的DOM中删除了吗?可能有一个观察者?
谢谢
使用javascript,用户成功登录后,我尝试提取用户名,如下所示:
var user = Parse.User.current();
name = user.getUsername;
Run Code Online (Sandbox Code Playgroud)
name的值是: function (){return this.get("username")}
如果我使用 name = user.getUsername();
价值未定义 !!
我知道在iOS sdk中我可以这样做
[PFCloud callFunctionInBackground:@"email" withParameters:@{@"param1": @"quantity1, @"param2": @"quantity2} block:^(NSString *result, NSError *error) {
if (error) {
//error
} else {
// make sure the set the email sent flag on the object
NSLog(@"result :%@", result);
}
}];
Run Code Online (Sandbox Code Playgroud)
但是如何使用Javascript函数执行此操作
我有一个像
{
"_id": "201503110040020021",
"Line": "1", // several documents may have this Line value
"LineStart": ISODate("2015-03-11T06:49:35.000Z"),
"SSCEXPEND": [{
"Secuence": 10,
"Title": 1,
},
{
"Secuence": 183,
"Title": 613,
},
...
],
} {
"_id": "201503110040020022",
"Line": "1", // several documents may have this Line value
"LineStart": ISODate("2015-03-11T06:49:35.000Z"),
"SSCEXPEND": [{
"Secuence": 10,
"Title": 1,
},
],
}
Run Code Online (Sandbox Code Playgroud)
SSCEXPEND是一个数组.我试图计算SSC数组和项目的大小,如果计数大于或等于2.我的查询是这样的
db.entity.aggregate(
[
{
$project: {
SSCEXPEND_count: {$size: "$SSCEXPEND"}
}
},
{
$match: {
"SSCEXPEND_count2": {$gte: ["$SSCEXPEND_count",2]}
}
}
]
)
Run Code Online (Sandbox Code Playgroud)
我希望输出只是数组大小大于2的第一个文档.
项目部分工作正常,我能够得到计数,但我只需要计划那些计数大于或等于2但我的匹配部分不起作用.任何人都可以指导我哪里出错了?
我的mongodb中有20,000多个文档.我刚刚得知你不能一次性查询它们.
所以我的问题是:
我想使用我的文档,find(query)然后仅限制3个文档的结果,我可以选择这些文档的起源.
例如,如果我的find()查询导致了8个文档:
[{doc1}, {doc2}, {doc3}, {doc4}, {doc5}, {doc6}, {doc7}, {doc 8}]
Run Code Online (Sandbox Code Playgroud)
命令limit(2, 3)会给出[doc3, doc4, doc5]
而且我还需要得到所有结果的总计数(没有限制),例如:length()将给出8(由find()函数产生的总文档数)
有什么建议吗?谢谢
我想知道 Node.js 程序/脚本是否可以阻止操作系统(Windows)进入睡眠或休眠模式?
我正在从带有响应正文的后端代码发送状态代码422,其中包含错误的描述。我使用axios发布如下,以发布请求:
post: function(url, reqBody) {
const request = axios({
baseURL: config.apiUrl,
url: url,
headers: {
'Content-Type': 'application/json',
'Authorization': sessionStorage.getItem('token')
},
method: 'POST',
data: reqBody,
responseType: 'json'
});
return request
.then((res) => {
return res;
})
.catch((error) => {
console.log(error);
return error;
})
}
Run Code Online (Sandbox Code Playgroud)
问题是当后端返回错误代码422时,我正在捕获的错误对象没有有关响应主体的信息。有什么方法可以检索错误文本?
我是新手做出反应并尝试使用内联样式获取背景图像.但它不起作用.
显示错误"url未定义"
render() {
return (
<div className="phase1"
style ={ { backgroundImage: url('https://lh3.googleusercontent.com/MOf9Kxxkj7GvyZlTZOnUzuYv0JAweEhlxJX6gslQvbvlhLK5_bSTK6duxY2xfbBsj43H=w300') } }>
<input id="search"
type="text"
placeholder={this.state.search}
onChange={this.updateSearch.bind(this)}/>
<Link className="button1" to="Form"> + </Link>
</div>
)
}
}
Run Code Online (Sandbox Code Playgroud)