小编Mik*_*eNQ的帖子

Mongoose行为和架构

我目前正在和mongodb一起学习nodejs,有两件事让我感到困惑.

(1),当使用新的模式和模型名称(不在db中)时,名称将更改为其复数形式.例:

mongoose.model('person', personSchema);
Run Code Online (Sandbox Code Playgroud)

在数据库中,该表将被称为"人".是不是很容易混淆新开发人员,为什么他们这样实现呢?

(2),第二件事是每当我想引用mongoDb中的现有模型时(假设在db中,存在一个名为people的表).然后在我的nodejs代码中,我仍然需要定义一个Schema,以便创建一个引用该表的模型.

personSchema = new mongoose.Schema({});
mongoose.model('person',personSchema);
Run Code Online (Sandbox Code Playgroud)

不同寻常的是,我似乎无法定义架构,它可以像上面一样空,或填充随机属性,但模型将始终获得正确的表并且CRUD操作正常执行.

那么除了定义用于创建新表的表结构之外,Schema的用法是什么?

非常感谢,

javascript mongoose mongodb database-schema node.js

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

Java DNSLookup MX记录列表.像MXToolBox一样

我正在构建一个程序来列出域的所有MX记录.它起初似乎工作正常,但在与在线工具http://mxtoolbox.com/进行比较后.MXToolbox可以有程序无法获取MX记录的域.

我不确定是什么原因或任何需要的配置.

非常感谢;

这是我的代码.

import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.InitialDirContext;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Hashtable;

public class DNSLookup
{
    private InitialDirContext iDirC;

    public DNSLookup ()
    {
         Hashtable<String, String> env = new Hashtable<String, String>();
         //env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
         //env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=JNDITutorial");
         env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.dns.DnsContextFactory");
         //env.put(Context.PROVIDER_URL, "dns://google.com");
         // get the default initial Directory Context
         try {
            iDirC = new InitialDirContext(env);
        } catch (NamingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    private void lookup (String host, String …
Run Code Online (Sandbox Code Playgroud)

java dns mx-record

3
推荐指数
1
解决办法
8598
查看次数

nodejs http post请求抛出TypeError

我正在尝试制作一个使用google oauth的简单服务器(没有express和passportjs,因为我想研究交换的数据).

当我的程序尝试向Google发送帖子请求时,nodejs会抛出:

http.js:593 throw new TypeError('first argument must be a string or Buffer');
Run Code Online (Sandbox Code Playgroud)

我检查并确保查询和选项中的所有参数都是字符串,但错误仍然存​​在.我能错过什么?

这是我的代码:

// Load the http module to create an http server.
var http = require('http');
var url = require('url');
var fs = require('fs');
var querystring = require('querystring');
var content;

fs.readFile('./test.html',function(err,data){
    content = data;
});

// Configure our HTTP server to respond with Hello World to all requests.
var server = http.createServer(function (request, response) {
  response.writeHead(200, {"Content-Type": "text/html"});
  var path = url.parse(request.url).pathname;
  var query = querystring.parse(url.parse(request.url).query); …
Run Code Online (Sandbox Code Playgroud)

javascript post http node.js oauth-2.0

3
推荐指数
1
解决办法
8280
查看次数

JavaScript浮点数混淆

我遇到了一些混乱的手术。

var a = 0.1;
var b = 0.2;
var c = 0.3;

console.log(a); // 0.1
console.log(b); // 0.2
console.log(c); // 0.3
Run Code Online (Sandbox Code Playgroud)

但,

consolo.log(a+b+c) // 0.6000000000000001.
Run Code Online (Sandbox Code Playgroud)

console.log(a+(b+c)) // 0.6
Run Code Online (Sandbox Code Playgroud)

我知道Javascript使用二进制浮点数,因此无法准确表示0.1、0.2、0.3,但是(b + c)的括号是什么?这里有什么转换或四舍五入吗?

非常感谢,

javascript rounding data-conversion

2
推荐指数
1
解决办法
1953
查看次数