我在使用react-router和react-bootstrap时遇到了一些样式问题.下面是代码的片段
import { Route, RouteHandler, Link } from 'react-router';
import AuthService from '../services/AuthService'
import { Button, Nav, Navbar, NavDropdown, MenuItem, NavItem } from 'react-bootstrap';
<Nav pullRight>
<NavItem eventKey={1}>
<Link to="home">Home</Link>
</NavItem>
<NavItem eventKey={2}>
<Link to="book">Book Inv</Link>
</NavItem>
<NavDropdown eventKey={3} title="Authorization" id="basic-nav-dropdown">
<MenuItem eventKey="3.1">
<a href="" onClick={this.logout}>Logout</a>
</MenuItem>
</NavDropdown>
</Nav>
Run Code Online (Sandbox Code Playgroud)
这就是渲染时的样子.
我知道这<Link></Link>是造成这种情况但我不知道为什么?我希望这是在线.
猫鼬在人口方面表现不佳.这是我的模特
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
mongoose.connect(process.env.MONGO_URI);
var userSchema = new Schema({
username: String,
password: String,
books: [{type: Schema.Types.ObjectId, ref: 'User'}]
}
);
var bookSchema = new Schema({
bookid: {type:String, unique:true, required:true},
imgURL: String
});
module.exports.user = mongoose.model('User', userSchema);
module.exports.book = mongoose.model('Book', bookSchema);
Run Code Online (Sandbox Code Playgroud)
数据库看起来正确.
{ "_id" : ObjectId("56a17cd70a498fcc37cdbe60"), "username" : "test", "password" : "test", "books" : [ ObjectId("56a17d21d43dc32a3a9837de"), ObjectId("56a17ee5d43dc32a3a9837e4"), ObjectId("56a17f5dd43dc32a3a9837e6"), ObjectId("56a17f9fd43dc32a3a9837e8") ], "__v" : 4 }
Run Code Online (Sandbox Code Playgroud)
但是当我做一个填充时,我得到一个空的'书'阵列
users.findOne({'_id':userid}).populate('books').exec(function(err,data){
if (err) return console.error(err);
if(data){
}
});
Run Code Online (Sandbox Code Playgroud)
一切都在那里它根本就不会填充.任何建议将不胜感激.
我正在尝试使用填充查询从数组中删除objectids时非常困难.
这是我的架构
var userSchema = new Schema({
username: String,
password: String,
books: [{type: Schema.Types.ObjectId, ref: 'Book'}]
}
);
var bookSchema = new Schema({
bookid: {type:String, unique:true, required:true},
imgURL: String,
fortrade: Boolean
});
Run Code Online (Sandbox Code Playgroud)
问题出在下面显示的查询中.当我只想删除books数组中的objectid时,它会删除删除书架构项.
users.findOne({'_id':userid}).populate('books').exec(function(usererr,userdata){
if (usererr) return console.error(usererr);
userdata.books.forEach(function(elm,idx){
if(elm.bookid==_book.bookid){
userdata.books[idx].remove();
}
})
});
Run Code Online (Sandbox Code Playgroud)