GVKun编程网logo

Mongodb避免重复输入(mongodb防止重复)

12

最近很多小伙伴都在问Mongodb避免重复输入和mongodb防止重复这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展57-1、2、3NoSQL基础及MongoDB、MongoDB

最近很多小伙伴都在问Mongodb避免重复输入mongodb防止重复这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展57-1、2、3 NoSQL基础及MongoDB、MongoDB基本应用、mongodb索引及复制集、adminMongo:mongoDB node GUI(mongoDB图形化界面)、asp.net-mvc-routing – Web API路由和Web API帮助页面:如何避免重复输入、Excel 如何避免数据重复输入?等相关知识,下面开始了哦!

本文目录一览:

Mongodb避免重复输入(mongodb防止重复)

Mongodb避免重复输入(mongodb防止重复)

我是mongodb的新手。我可以知道如何避免重复输入。在关系表中,我们使用主键来避免它。我可以知道如何使用Java在Mongodb中指定它吗?

答案1

小编典典

{unique:true}选项中使用索引。

// everyone''s username must be unique:db.users.createIndex({email:1},{unique:true});

您也可以跨多个字段执行此操作。 有关 更多详细信息和示例, 请参阅 文档中的
此部分

MongoDB索引可以有选择地施加一个 唯一的键约束 ,以确保不会插入任何索引键值与现有文档值匹配的文档。

如果希望null从唯一键中忽略值,那么还必须通过添加以下选项来使索引稀疏( 请参见
此处
sparse

// everyone''s username must be unique,//but there can be multiple users with no email field or a null email:db.users.createIndex({email:1},{unique:true, sparse:true});

如果要使用MongoDB Java驱动程序创建索引。尝试:

Document keys = new Document("email", 1);collection.createIndex(keys, new IndexOptions().unique(true));

57-1、2、3 NoSQL基础及MongoDB、MongoDB基本应用、mongodb索引及复制集

57-1、2、3 NoSQL基础及MongoDB、MongoDB基本应用、mongodb索引及复制集

02MongoDB基本应用


配置环境:

node1:192.168.1.121CentOS release 6.7


[root@node1 ~]# cd mongodb-2.6.4/

[root@node1 mongodb-2.6.4]# ls

mongodb-org-2.6.4-1.x86_64.rpm mongodb-org-shell-2.6.4-1.x86_64.rpm

mongodb-org-mongos-2.6.4-1.x86_64.rpm mongodb-org-tools-2.6.4-1.x86_64.rpm

mongodb-org-server-2.6.4-1.x86_64.rpm


[root@node1 mongodb-2.6.4]# yum install mongodb-org-server-2.6.4-1.x86_64.rpm mongodb-org-shell-2.6.4-1.x86_64.rpm mongodb-org-tools-2.6.4-1.x86_64.rpm -y


[root@node1 mongodb-2.6.4]# cd

[root@node1 ~]# mkdir -p /mongodb/data

[root@node1 ~]# id mongod

uid=496(mongod) gid=492(mongod) groups=492(mongod)

[root@node1 ~]# chown -R mongod.mongod /mongodb/

[root@node1 ~]# vim /etc/mongod.conf

修改

dbpath=/var/lib/mongo

dbpath=/mongodb/data

bind_ip=127.0.0.1

#bind_ip=127.0.0.1

#httpinterface=true

httpinterface=true

rest=true

[root@node1 ~]# service mongod start

[root@node1 ~]# ls /mongodb/data/

journal local.0 local.ns mongod.lock _tmp

[root@node1 ~]# du -sh /mongodb/data/

3.1G /mongodb/data/

[root@node1 ~]# ss -tnl

State Recv-Q Send-Q Local Address:Port Peer Address:Port

LISTEN 0 128 :::39591 :::*

LISTEN 0 128 *:27017 *:*

LISTEN 0 128 :::111 :::*

LISTEN 0 128 *:111 *:*

LISTEN 0 128 *:28017 *:*

LISTEN 0 128 *:46453 *:*

LISTEN 0 128 :::22 :::*

LISTEN 0 128 *:22 *:*

LISTEN 0 128 127.0.0.1:631 *:*

LISTEN 0 128 ::1:631 :::*

LISTEN 0 100 ::1:25 :::*

LISTEN 0 100 127.0.0.1:25 *:*


[root@node1 ~]# mongo --host 192.168.1.121

MongoDB shell version: 2.6.4

connecting to: 192.168.1.121:27017/test

Welcome to the MongoDB shell.

For interactive help,type "help".

For more comprehensive documentation,see

http://docs.mongodb.org/

Questions? Try the support group

http://groups.google.com/group/mongodb-user

> show dbs

admin (empty)

local 0.078GB

> use testdb

switched to db testdb

> db.stats()

{

"db" : "testdb",

"collections" : 0,'Microsoft YaHei';font-size:10px;"> "objects" : 0,'Microsoft YaHei';font-size:10px;"> "avgobjSize" : 0,'Microsoft YaHei';font-size:10px;"> "dataSize" : 0,'Microsoft YaHei';font-size:10px;"> "storageSize" : 0,'Microsoft YaHei';font-size:10px;"> "numExtents" : 0,'Microsoft YaHei';font-size:10px;"> "indexes" : 0,'Microsoft YaHei';font-size:10px;"> "indexSize" : 0,'Microsoft YaHei';font-size:10px;"> "fileSize" : 0,'Microsoft YaHei';font-size:10px;"> "dataFiLeversion" : {


},'Microsoft YaHei';font-size:10px;"> "ok" : 1

}

> db.version()

2.6.4

> db.getCollectionNames()

[ ]


#插入数据

> db.students.insert({name:"tom",age:23})

WriteResult({ "nInserted" : 1 })


> show collections

students

system.indexes

admin (empty)

local 0.078GB

testdb 0.078GB


> db.students.stats()

"ns" : "testdb.students",'Microsoft YaHei';font-size:10px;"> "count" : 1,'Microsoft YaHei';font-size:10px;"> "size" : 112,'Microsoft YaHei';font-size:10px;"> "avgobjSize" : 112,'Microsoft YaHei';font-size:10px;"> "storageSize" : 8192,'Microsoft YaHei';font-size:10px;"> "numExtents" : 1,'Microsoft YaHei';font-size:10px;"> "nindexes" : 1,'Microsoft YaHei';font-size:10px;"> "lastExtentSize" : 8192,'Microsoft YaHei';font-size:10px;"> "paddingFactor" : 1,'Microsoft YaHei';font-size:10px;"> "systemFlags" : 1,'Microsoft YaHei';font-size:10px;"> "userFlags" : 1,'Microsoft YaHei';font-size:10px;"> "totalIndexSize" : 8176,'Microsoft YaHei';font-size:10px;"> "indexSizes" : {

"_id_" : 8176

}



[ "students","system.indexes" ]

> db.students.insert ({name:"jerry",age:40,gender:"M"})

WriteResult({ "nInserted" : 1 })

"ns" : "test.students",'Microsoft YaHei';font-size:10px;">}


#帮助:

> db.mycoll.help()

> db.mycoll.find.help()


> db.students.find()

{ "_id" : ObjectId("58720933110b5df571418845"),"name" : "jerry","age" : 40,"gender" : "M" }

{ "_id" : ObjectId("58720a26110b5df571418846"),"name" : "tom","age" : 23 }


> db.students.count()

2

> db.students.insert({name:"Ou Yangfeng",Age:90,Course:"Hamogong"})

> db.students.insert({name:"Yang Guo",Age:20,Course:"Meinv Quan"})

> db.students.insert({name:"Guo Jing",Age:40,Course:"Xiangchong Shibazhang"})

#查询年龄大于30的记录

> db.students.find({Age:{$gt: 30}})

{ "_id" : ObjectId("58720b48110b5df571418847"),"name" : "Ou Yangfeng","Age" : 90,"Course" : "Hamogong" }

{ "_id" : ObjectId("58720ba8110b5df571418849"),"name" : "Guo Jing","Age" : 40,"Course" : "Xiangchong Shibazhang" }


#查询年龄在20到40之间的记录

> db.students.find({Age:{$in: [20,40]}})

{ "_id" : ObjectId("58720b71110b5df571418848"),"name" : "Yang Guo","Age" : 20,"Course" : "Meinv Quan" }

#查看年龄不在20到40之间的记录

> db.students.find({Age:{$nin: [20,"age" : 23 }

mogong" }


#查看Age或age值不在20到40之间的记录

> db.students.find({$or: [{Age: {$nin: [20,40]}},{age:{$nin:[20,40]}}]})

#查看Age或age值在20到40之间的记录

> db.students.find({$or: [{Age: {$in: [20,{age:{$in:[20,'Microsoft YaHei';font-size:10px;">#查看存在gender字段的记录

> db.students.find({gender: {$exists: true}})


#查看不存在gender字段的记录

> db.students.find({gender: {$exists: false}})



#修改"tom"的age为21

> db.students.update({name:"tom"},{$set: {age: 21}})

WriteResult({ "nMatched" : 1,"nUpserted" : 0,"nModified" : 1 })

#删除age值为21的记录

> db.students.remove({age:21})

WriteResult({ "nRemoved" : 1 })

#统计Age值在20到40之间的记录数

> db.students.find({Age: {$in: [20,40]}}).count()

2


#显示Age值在20到40之间的记录,仅显示满足条件的第一条记录


#显示Age值在20到40之间的记录,第一条记录不显示

#显示Age值大于10的记录,仅显示一条满足条件的记录

> db.students.findOne({Age: {$gt: 10}})

"_id" : ObjectId("58720b48110b5df571418847"),'Microsoft YaHei';font-size:10px;"> "name" : "Ou Yangfeng",'Microsoft YaHei';font-size:10px;"> "Age" : 90,'Microsoft YaHei';font-size:10px;"> "Course" : "Hamogong"

#删除students表

> db.students.drop()

true

> show collections;

system.indexes


"db" : "test",'Microsoft YaHei';font-size:10px;"> "collections" : 2,'Microsoft YaHei';font-size:10px;"> "objects" : 1,'Microsoft YaHei';font-size:10px;"> "avgobjSize" : 48,'Microsoft YaHei';font-size:10px;"> "dataSize" : 48,'Microsoft YaHei';font-size:10px;"> "storageSize" : 16384,'Microsoft YaHei';font-size:10px;"> "numExtents" : 2,'Microsoft YaHei';font-size:10px;"> "fileSize" : 67108864,'Microsoft YaHei';font-size:10px;"> "nsSizeMB" : 16,'Microsoft YaHei';font-size:10px;"> "dataFiLeversion" : {

"major" : 4,'Microsoft YaHei';font-size:10px;"> "minor" : 5

"extentFreeList" : {

"num" : 2,'Microsoft YaHei';font-size:10px;"> "totalSize" : 139264

#删除数据库

> db.dropDatabase()

{ "dropped" : "test","ok" : 1 }


03mongodb索引及复制集[root@node1 ~]# mongo

connecting to: test

> for (i=1;i<=10000;i++) db.students.insert({name:"student"+i,age:(i%120),address:"#85 Wenhua Road,Zhengzhou,China"})

> db.students.find().count()

10000

{ "_id" : ObjectId("5871e94113222f399a5240a3"),'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54561"),"name" : "student1","age" : 1,"address" : "#85 Wenhua Road,China" }

{ "_id" : ObjectId("587232dba7eb9c0c7bd54562"),"name" : "student2","age" : 2,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54563"),"name" : "student3","age" : 3,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54564"),"name" : "student4","age" : 4,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54565"),"name" : "student5","age" : 5,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54566"),"name" : "student6","age" : 6,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54567"),"name" : "student7","age" : 7,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54568"),"name" : "student8","age" : 8,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54569"),"name" : "student9","age" : 9,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd5456a"),"name" : "student10","age" : 10,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd5456b"),"name" : "student11","age" : 11,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd5456c"),"name" : "student12","age" : 12,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd5456d"),"name" : "student13","age" : 13,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd5456e"),"name" : "student14","age" : 14,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd5456f"),"name" : "student15","age" : 15,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54570"),"name" : "student16","age" : 16,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54571"),"name" : "student17","age" : 17,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54572"),"name" : "student18","age" : 18,'Microsoft YaHei';font-size:10px;">{ "_id" : ObjectId("587232dba7eb9c0c7bd54573"),"name" : "student19","age" : 19,China" }


#在name字段上构建一个升序索引

> db.students.ensureIndex({name: 1})

"createdCollectionAutomatically" : false,'Microsoft YaHei';font-size:10px;"> "numIndexesBefore" : 1,'Microsoft YaHei';font-size:10px;"> "numIndexesAfter" : 2,'Microsoft YaHei';font-size:10px;">#显示表中索引

> db.students.getIndexes()

[

{

"v" : 1,'Microsoft YaHei';font-size:10px;"> "key" : {

"_id" : 1

},'Microsoft YaHei';font-size:10px;"> "name" : "_id_",'Microsoft YaHei';font-size:10px;"> "ns" : "testdb.students"

"name" : 1

"name" : "name_1",'Microsoft YaHei';font-size:10px;"> }

]


#删除索引

> db.students.dropIndex("name_1")

{ "nIndexesWas" : 2,"ok" : 1 }

#创建唯一索引

> db.students.ensureIndex({name: 1},{unique: true})

"unique" : true,'Microsoft YaHei';font-size:10px;">]

#创建唯一索引后,新增相同字段值会提示错误

> db.students.insert({name: "student20",age: 20,})

WriteResult({

"nInserted" : 0,'Microsoft YaHei';font-size:10px;"> "writeError" : {

"code" : 11000,'Microsoft YaHei';font-size:10px;"> "errmsg" : "insertDocument :: caused by :: 11000 E11000 duplicate key error index: testdb.students.$name_1 dup key: { : \"student20\" }"

})


> db.students.find({name: "student5000"})

{ "_id" : ObjectId("587232e4a7eb9c0c7bd558e8"),"name" : "student5000","age" : 80,'Microsoft YaHei';font-size:10px;">#显示查找语句执行过程

> db.students.find({name: "student5000"}).explain()

"cursor" : "BtreeCursor name_1",'Microsoft YaHei';font-size:10px;"> "ismultikey" : false,'Microsoft YaHei';font-size:10px;"> "n" : 1,'Microsoft YaHei';font-size:10px;"> "nscannedobjects" : 1,'Microsoft YaHei';font-size:10px;"> "nscanned" : 1,'Microsoft YaHei';font-size:10px;"> "nscannedobjectsAllPlans" : 1,'Microsoft YaHei';font-size:10px;"> "nscannedAllPlans" : 1,'Microsoft YaHei';font-size:10px;"> "scanAndOrder" : false,'Microsoft YaHei';font-size:10px;"> "indexOnly" : false,'Microsoft YaHei';font-size:10px;"> "nYields" : 0,'Microsoft YaHei';font-size:10px;"> "nChunkSkips" : 0,'Microsoft YaHei';font-size:10px;"> "millis" : 0,'Microsoft YaHei';font-size:10px;"> "indexBounds" : {

"name" : [

[

"student5000",'Microsoft YaHei';font-size:10px;"> "student5000"

]

]

"server" : "node1:27017",'Microsoft YaHei';font-size:10px;"> "filterSet" : false

> db.students.find({name: {$gt: "student5000"}}).explain()

"n" : 5552,'Microsoft YaHei';font-size:10px;"> "nscannedobjects" : 5552,'Microsoft YaHei';font-size:10px;"> "nscanned" : 5552,'Microsoft YaHei';font-size:10px;"> "nscannedobjectsAllPlans" : 5552,'Microsoft YaHei';font-size:10px;"> "nscannedAllPlans" : 5552,'Microsoft YaHei';font-size:10px;"> "nYields" : 43,'Microsoft YaHei';font-size:10px;"> "millis" : 13,'Microsoft YaHei';font-size:10px;"> {


}

}

adminMongo:mongoDB node GUI(mongoDB图形化界面)

adminMongo:mongoDB node GUI(mongoDB图形化界面)

adminMongo:mongoDB node GUI(mongoDB图形化界面)

获取项目项目
    克隆:git clone https://github.com/mrvautin/adminMongo.git
    也可以去下载ZIP包:https://github.com/mrvautin/adminMongo
2.切入项目

    cd adminMongo
3.安装依赖

    npm install
4.进行配置

    找到config/app.json添加以下配置:
                                    {
                                      "app": {
                                        "host": "0.0.0.0",       //IP(注意这里的配置是0.0.0.0,不是服务器IP,在linux不添加此配置,项目无法启动)
                                        "port": 1234,             //端口
                                        "username": "admin",      //用户名
                                        "password": "admin123456",//密码
                                        "locale": "en",           //语言,中文zh-cn
                                        "context": "dbApp",       //路由配置:例如:http://0.0.0.0:1234/dbApp
                                        "monitoring": true        //是否定期运行监视
                                      }
                                    }
        如若不添加以上配置系统默认监听1234端口,也不会有登录页面,
    访问直接进入系统。
    
    **注意:
            系统默认只能配置password,username配置后需要修改源代码。
                --:找到views/login.hbs文件(登录页面)
                --:添加代码:<input type="username" id="inputUsername" name="inputUsername"placeholder="{{__ "Username"}}"" required><br/>(username输入框)
                --:找到rotes/index.js文件(接口文件)
                --:找到get接口/app/login,注释为:// login page。
                --: 修改代码
                      var passwordConf = req.nconf.app.get(''app'');
                        // if password is set then render the login page, else continue
                        if(passwordConf && passwordConf.hasOwnProperty(''password'') && passwordConf.hasOwnProperty(''username'')){
                            res.render(''login'', {
                                message: '''',
                                helpers: req.handlebars.helpers
                            });
                        }else{
                            res.redirect(req.app_context + ''/'');
                        }
                --:找到post接口/app/login_action, 注释为:// login page
                --: 修改代码
                         var passwordConf = req.nconf.app.get(''app'');
                            if(passwordConf && passwordConf.hasOwnProperty(''password'') && passwordConf.hasOwnProperty(''username'')){
                                if(req.body.inputPassword === passwordConf.password && req.body.inputUsername === passwordConf.username){
                                    // password is ok, go to home
                                    req.session.loggedIn = true;
                                    res.redirect(req.app_context + ''/'');
                                }else{
                                    // password is wrong. Show login form with a message
                                    res.render(''login'', {
                                        message: ''Username or Password is incorrect'',
                                        helpers: req.handlebars.helpers
                                    });
                                }
                            }else{
                                res.redirect(req.app_context + ''/'');
                            }
    **:配置完成重新启动                        
5.启动

    node app  或者   npm start
    访问:
        http://xxx.xxx.xxx.xx:1234
    使用pm2守护进程:
            下载pm2:npm install pm2 -g
            进入项目目录 
            pm2 start app.js --name admin-mongo   # 启动应用,并为之命名
            pm2 list                              # 查看pm2管理的应用运行状态
            pm2 stop admin-mongo                # 停止应用
            pm2 delete admin-mongo              # 从pm2列表里删除应用    
6.登录

    添加了配置访问必须输入用户名,密码。

  

asp.net-mvc-routing – Web API路由和Web API帮助页面:如何避免重复输入

asp.net-mvc-routing – Web API路由和Web API帮助页面:如何避免重复输入

我正在使用不同的父母(例如这些)在我的 Web API Help Page中呈现的重复条目引用相同的方法:

GET api/{apiVersion}/v1/Products – Gets all products

GET api/v1/Products – Gets all products

我有一个Web API页面,其中包含一些这样的路由:

config.Routes.MapHttpRoute (
            name: "DefaultVersionApi",routeTemplate: "api/{apiVersion}/{controller}/{id}",defaults: new { id = RouteParameter.Optional }
        );

        config.Routes.MapHttpRoute (
            name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional }
        );

我原以为这个路由会使“v1”成为可选项,所以上面的派生文档是不可取的.

(侧边栏:去api /产品肯定不起作用,所以我不确定这有什么问题.我错过了什么?)

看来真正的问题是Web API帮助页面正在不正确地读取路由,因为我认为v1和{apiVersion}不应该同时出现在同一个动作中.我在这里错过了什么?

解决方法

尝试使用属性路由,安装nuget包

Install-Package Microsoft.AspNet.WebApi.WebHost

在WebApiConfig.cs中启用属性路由

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Attribute routing.
        config.MapHttpAttributeRoutes();

        // Convention-based routing.
        config.Routes.MapHttpRoute(
            name: "DefaultApi",defaults: new { id = RouteParameter.Optional }
        );
    }
}

然后在Controller的方法中使用属性Route

[Route("~/api/v1/Products")]
[HttpGet]
public List<Product> Products()
{}

[Route("~/api/v2/Products")]
[HttpGet]
public List<Product> V2Products()
{}

在您将获得的文档中

GET api/v1/Products – Gets all products

GET api/v2/Products – Gets all products

Excel 如何避免数据重复输入?

Excel 如何避免数据重复输入?

  在使用Excel处理大量数据时,经常会遇到数据重复录入的现象,借助Microsoft Excel 2007,数据重复输入这样的问题可以轻松得到解决。

  工作人员在输入相应数据时,为了避免发生重复录入的现象,可以执行如下的操作步骤:

  (1)首先在Microsoft Excel 2007中选择要输入的数据区域,如A2:G22单元格区域。然后单击功能区中的“开始”选项卡,在“样式”功能组中单击【条件格式】下拉菜单,选择【突出显示单元格规则】|【重复值】命令,如图1所示。

Excel 如何避免数据重复输入?



  图1 设置条件格式

  (2)此时,Excel将打开“重复值”对话框,如图2所示。在这里可以根据需要自行定义重复值单元格内数据的颜色格式(如 “浅红填充色深红文本”)。单击【确定】按钮后即可生效,一旦不慎在工作表的单元格区域中输入了重复数据,当前单元格就会立即变成红色,给您以提示。

Excel 如何避免数据重复输入?



  图2 为重复数据设置条件格式

  如果在Excel工作表中已经完成了大量数据的输入工作,需要将可能重复的数据找出来并将其删除,那么可以按照如下方法操作:

  (1)选中需要检查并删除重复项的单元格区域,并单击功能区中的“数据”选项卡,在“数据工具”功能组中单击【删除重复项】按钮,如图3所示。

Excel 如何避免数据重复输入?



  图3 数据工具

  (2)此时打开“删除重复项”对话框,选择需要对哪些列进行重复值检查,如图4所示。

Excel 如何避免数据重复输入?



  图4 选择核查重复值的列

  (3)设置完成后单击“确定”按钮,Excel将对选中的列进行重复值检查,并给出处理结果的提示信息,如图5所示。

Excel 如何避免数据重复输入?



  图5 Excel核查处理结果

今天关于Mongodb避免重复输入mongodb防止重复的讲解已经结束,谢谢您的阅读,如果想了解更多关于57-1、2、3 NoSQL基础及MongoDB、MongoDB基本应用、mongodb索引及复制集、adminMongo:mongoDB node GUI(mongoDB图形化界面)、asp.net-mvc-routing – Web API路由和Web API帮助页面:如何避免重复输入、Excel 如何避免数据重复输入?的相关知识,请在本站搜索。

本文标签: