小编Tal*_*wan的帖子

如何在mongoose中更新嵌入式文件?

我已经浏览了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)

mongoose mongodb node.js

9
推荐指数
1
解决办法
9205
查看次数

如何阻止github项目页面(或其他子页面)显示自定义域名?

我正在使用GitHub页面来托管我的博客.我在存储库中设置了CNAME记录,并将A记录和CNAME记录添加到我的域名注册商(123-reg).这工作正常,所以现在我的个人页面donskifarrell.github.com - > donalfarrell.com.

这也使我的所有项目页面都映射到同一个新域,例如.donskifarrell.github.com/calex - > donalfarrell.com/calex.

虽然这是非常好的,但事实证明这对我的一个项目来说很麻烦.

有没有办法修改我的设置,以便某些项目页面不使用我自己的自定义域,而是保留github网址?

谢谢

dns cname github

9
推荐指数
1
解决办法
2499
查看次数

React如何知道组件是从DOM中删除的?

在React的官方Facebook文档中将类生命周期方法添加到类中,它提到:

5)如果从DOM中删除了Clock组件,React会调用componentWillUnmount()生命周期钩子,以便停止计时器.

只是想了解如何?我知道React知道什么时候将组件插入DOM,所以它可以调用componentDidMount生命周期钩子.

componentWillUnmount它只是说," 曾经从去除DOM ".似乎表明它是真正的DOM而不是React DOM.也许可以用javaScript/jQuery删除组件,并且componentWillUnmount应该触发.

React究竟知道该组件已从真正的DOM中删除了吗?可能有一个观察者?

谢谢

javascript dom reactjs

9
推荐指数
2
解决办法
1541
查看次数

Parse.com无法从Parse.User.current获取用户名?

使用javascript,用户成功登录后,我尝试提取用户名,如下所示:

var user = Parse.User.current();
name = user.getUsername;
Run Code Online (Sandbox Code Playgroud)

name的值是: function (){return this.get("username")}

如果我使用 name = user.getUsername();

价值未定义 !!

javascript promise parse-platform

8
推荐指数
2
解决办法
8066
查看次数

如何使用Javascript SDK调用带参数的云代码函数

我知道在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函数执行此操作

javascript sdk parse-platform parse-cloud-code

7
推荐指数
1
解决办法
3690
查看次数

MongoDB项目计数大于2的文档

我有一个像

{
    "_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 mongodb-query

7
推荐指数
2
解决办法
9621
查看次数

在MongoDB中限制查询结果

我的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()函数产生的总文档数)

有什么建议吗?谢谢

mongodb mongodb-query aggregation-framework

7
推荐指数
2
解决办法
7646
查看次数

让node.js程序阻止系统进入睡眠模式

我想知道 Node.js 程序/脚本是否可以阻止操作系统(Windows)进入睡眠或休眠模式?

operating-system node.js sleep-mode

7
推荐指数
1
解决办法
6234
查看次数

使用axios post捕获错误正文

我正在从带有响应正文的后端代码发送状态代码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时,我正在捕获的错误对象没有有关响应主体的信息。有什么方法可以检索错误文本?

javascript post axios

7
推荐指数
5
解决办法
4421
查看次数

Backgroundimage没有反应

我是新手做出反应并尝试使用内联样式获取背景图像.但它不起作用.

显示错误"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)}/>
            &nbsp; &nbsp;&nbsp; &nbsp;

            <Link className="button1" to="Form"> + </Link>
        </div>
       )
    }
 }
Run Code Online (Sandbox Code Playgroud)

html css reactjs reactcsstransitiongroup react-native

6
推荐指数
5
解决办法
1万
查看次数